← Sorting

Sort by Custom Key

Easy
Python
def sort_by_length(words):
    return sorted(words,key=len)
Java
public String[] sortByLength(String[] words){
    Arrays.sort(words,(a,b)->a.length()-b.length());
    return words;
}

Key Insight

Python key=len elegant. Java needs comparator lambda.

Python → Java Differences

  • Python key= parameter vs Java comparator
  • sorted() new list vs Arrays.sort() in-place
  • Lambda syntax different
Python
def sort_by_length(words):
    return sorted(words,key=len)
Java
public String[] sortByLength(String[] words){
    Arrays.sort(words,(a,b)->a.length()-b.length());
    return words;
}

Algorithm Steps

1. Sort by string length