import java.util.*;
/**
* Popular about lambda expressions in Java (RU), part 1
* @see https://javarush.ru/groups/posts/264-populjarno-o-ljambda-vihrazhenijakh-v-java-s-primerami-i-zadachami-chastjh-1-
*/
class Lambda1Example {
public static void main(String[] args) {
String[] array1 = {"", "", ""};
String[] array2 = {"", "", "", "java"};
String[] array3 = {"", "", ""};
List arrays = new ArrayList();
arrays.add(array1);
arrays.add(array2);
arrays.add(array3);
Comparator sortByLength = new Comparator() {
@Override
public int compare(String[] o1, String[] o2) {
return o1.length - o2.length;
}
};
Comparator sortByWordsLength = new Comparator() {
@Override
public int compare(String[] o1, String[] o2) {
int length1 = 0;
int length2 = 0;
for (String s : o1)
length1 += s.length();
for (String s : o2)
length2 += s.length();
return length1 - length2;
}
};
//arrays.sort(sortByWordsLength);
//arrays.sort(sortByLength);
/*
arrays.sort(new Comparator() {
@Override
public int compare(String[] o1, String[] o2) {
return o1.length - o2.length;
}
});
*/
arrays.sort((o1, o2) -> o1.length - o2.length);
arrays.sort((o1, o2) -> {
int length1 = 0;
int length2 = 0;
for (String s : o1)
length1 += s.length();
for (String s : o2)
length2 += s.length();
return length1 - length2;
});
//for (String[] list : arrays)
// System.out.println(Arrays.toString(list));
arrays.forEach(x -> System.out.println(Arrays.toString(x)));
}
}