Repository navigation
Expand file tree
/
Copy pathComparatorLambda.java
More file actions
51 lines (34 loc) · 1.56 KB
/
Copy pathComparatorLambda.java
File metadata and controls
51 lines (34 loc) · 1.56 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
package com.learnJava.lambda;
import java.util.Comparator;
public class ComparatorLambda {
public static int compareTwoIntegers(Comparator<Integer> comparator, int a, int b){
return comparator.compare(a,b);
}
public static void main(String[] args) {
/**
* Prior JAVA 8
*/
Comparator<Integer> comparator = new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
return o1.compareTo(o2); // 0 -> if both are equal
// 1 -> if o1 > o2
//-1 -> if o1<o2
}
};
System.out.println(comparator.compare(1,2));
/**
* In JAVA 8
*/
Comparator<Integer> comparatorLambda = (Integer a,Integer b) -> a.compareTo(b);
Comparator<Integer> comparatorLambda1 = (a,b) -> a.compareTo(b);
System.out.println(comparatorLambda.compare(1,2));
/**
* Comparator chaining happens only when the first comparators result is zero.
*/
System.out.println("Result of chaining comparator is with equal inputs : " + comparatorLambda1.thenComparing(comparatorLambda1).compare(2,2));
System.out.println("Result of chaining comparator is with not equal inputs: " + comparatorLambda1.thenComparing(comparatorLambda1).compare(3,2));
System.out.println(comparatorLambda1.compare(1,2));
System.out.println("The greatest integer is : " + compareTwoIntegers(comparatorLambda,1,2));
}
}