1+ package com .winterbe .java8 .samples .lambda ;
2+
3+ import java .util .Arrays ;
4+ import java .util .Collections ;
5+ import java .util .Comparator ;
6+ import java .util .List ;
7+ import java .util .Optional ;
8+
9+ /**
10+ * @author Benjamin Winterberg
11+ */
12+ public class ArraysLambda {
13+
14+ public static void main (String [] args ) {
15+ List <String > names = Arrays .asList ("peter" , "anna" , "mike" , "xenia" );
16+
17+ usualSort (names );
18+ lambda1Sort (names );
19+ lambda2Sort (names );
20+ lambda3Sort (names );
21+ System .out .println (names );
22+
23+ names .sort (Collections .reverseOrder ());
24+ System .out .println (names );
25+
26+ List <String > names2 = Arrays .asList ("peter" , null , "anna" , "mike" , "xenia" );
27+ names2 .sort (Comparator .nullsLast (String ::compareTo ));
28+ System .out .println (names2 );
29+
30+
31+ List <String > names3 = null ;
32+ Optional .ofNullable (names3 ).ifPresent (list -> list .sort (Comparator .naturalOrder ()));
33+ System .out .println (names3 );
34+ }
35+
36+ private static void lambda3Sort (List <String > names ) {
37+ Collections .sort (names , (a , b ) -> b .compareTo (a ));
38+ }
39+
40+ private static void lambda2Sort (List <String > names ) {
41+ Collections .sort (names , (String a , String b ) -> b .compareTo (a ));
42+ }
43+
44+ private static void lambda1Sort (List <String > names ) {
45+ Collections .sort (names , (String a , String b ) -> {
46+ return b .compareTo (a );
47+ });
48+ }
49+
50+ private static void usualSort (List <String > names ) {
51+ Collections .sort (names , new Comparator <String >() {
52+ @ Override
53+ public int compare (String a , String b ) {
54+ return b .compareTo (a );
55+ }
56+ });
57+ }
58+
59+ }
0 commit comments