forked from nrkapri/JavaAdvancedTopics
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathComparatorExample.java
More file actions
96 lines (70 loc) · 1.74 KB
/
Copy pathComparatorExample.java
File metadata and controls
96 lines (70 loc) · 1.74 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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
package java8;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
class Developer {
String name ;
Double salary;
public Developer(String n,Double salary)
{
this.name=n;
this.salary=salary;
}
public Double getSalary()
{
return salary;
}
public String getName()
{
return name;
}
@Override
public String toString()
{
return "Name: "+name+", salary:"+salary;
}
}
public class ComparatorExample {
public static void main(String[] args) {
Comparator<Developer> devcomp = new Comparator<Developer>()
{
@Override
public int compare(Developer o1, Developer o2) {
// TODO Auto-generated method stub
return 0;
}
};
Comparator<Developer> devcomplambda= ( d1, d2) ->{
return d1.getName().compareTo(d2.getName());
};
List<Developer> devs = new ArrayList<Developer>();
devs.add(new Developer("Nayan",1.0));
devs.add(new Developer("Ayan",2.0));
devs.add(new Developer("yan",3.0));
//Collections.sort(devs, devcomplambda);
devs.sort(devcomplambda);
devs.forEach((e)->System.out.println(e.toString()));
devs.sort( (d1,d2)->
{
return d1.getSalary().compareTo(d2.getSalary());
});
System.out.println("");
devs.forEach((e)->System.out.println(e.toString()));
devs.stream().sorted(
new Comparator<Developer >()
{
@Override
public int compare(Developer o1, Developer o2) {
// TODO Auto-generated method stub
if (o1.getSalary() - o2.getSalary()> 0)
return 1;
else if (o1.getSalary().equals(o2.getSalary()))
{
return 0;
}
else return -1;
}
}
).forEach(x -> System.out.println(x));
}
}