-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathJava189_Sort.java
More file actions
69 lines (55 loc) · 1.36 KB
/
Copy pathJava189_Sort.java
File metadata and controls
69 lines (55 loc) · 1.36 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
package java0912_collection;
import java.util.ArrayList;
import java.util.Comparator;
class Person implements Comparator<Person> {
private String name;
private int age;
public Person() {
}
public Person(String name, int age) {
super();
this.name = name;
this.age = age;
}
@Override
public String toString() {
return name + " " + age;
}
@Override
public int compare(Person o1, Person o2) {
// 이름 오름차순
// return o1.name.compareTo(o2.name);
// 이름 내림차순
// return o2.name.compareTo(o1.name);
// 나이 오름차순
/*
* if (o1.age > o2.age) return 1; else if (o1.age < o2.age) return -1; else
* return 0;
*/
// 나이 내림차순
/*
* if (o1.age < o2.age) return 1; else if (o1.age > o2.age) return -1; else
* return 0;
*/
// 이름 오름차순, 나이 내림차순
if (!(o1.name.equals(o2.name))) {
return o1.name.compareTo(o2.name);
} else if (o1.age > o2.age) {
return -1;
} else if (o1.age < o2.age) {
return 1;
} else
return 0;
}
}
public class Java189_Sort {
public static void main(String[] args) {
ArrayList<Person> ts = new ArrayList<Person>();
ts.add(new Person("홍길동", 40));
ts.add(new Person("가비", 30));
ts.add(new Person("가비", 20));
ts.add(new Person("나비", 15));
ts.sort(new Person());
System.out.println(ts);
}// end main()
}// end class