import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.stream.*;
public class StreamCustSort2 {
public static void main(String[] args) {
ArrayList<String> actress = new ArrayList<>();
actress.add("Sunny Leone");
actress.add("Kajal Aggarwal");
actress.add("Anushka Sharma");
actress.add("Mallika Shetty");
actress.add("Aamna Sarif");
actress.add("Tara Sutaria");
actress.add("Katrina Kaushal");
ArrayList<String> alphabet = new ArrayList<>();
alphabet.add("A");
alphabet.add("AAAA");
alphabet.add("AA");
alphabet.add("AAA");
alphabet.add("AAAAAA");
alphabet.add("AAAAA");
alphabet.add("AAAAAAA");
Comparator<String> c = (s1, s2) -> {
int l1 = s1.length();
int l2 = s2.length();
if (l1 < l2) return -1; else if (
l1 > l2
) return 1; else return s1.compareTo(s2);
};
List<String> sortedList1 = actress
.stream()
.sorted(c)
.collect(Collectors.toList());
System.out.println("Increasing Length Order : " + sortedList1);
System.out.println("-----------------------------------------------");
List<String> sortedList2 = alphabet
.stream()
.sorted(c)
.collect(Collectors.toList());
System.out.println("Increasing Length Order : " + sortedList2);
}
}