Skip to content

Commit ee0cefd

Browse files
committed
arrays lambda example
1 parent 9fe1770 commit ee0cefd

File tree

1 file changed

+59
-0
lines changed

1 file changed

+59
-0
lines changed
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
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

Comments
 (0)