Development/Java
List에 내용물이 String이나 int가 아닌경우 정렬
망할고양이
2018. 4. 6. 11:53
List에 내용물이 String이나 int가 아닌 경우 정렬
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
ArrayList<HashMap<String, String>> items = new ArrayList<HashMap<String, String>>();
Collections.sort(items, new Comparator<HashMap<String, String>>() {
@Override
public int compare(HashMap<String, String> first, HashMap<String, String> second) {
int firstValue = Integer.valueOf(first.get("ORDER_BY"));
int secondValue = Integer.valueOf(second.get("ORDER_BY"));
if (firstValue > secondValue) {
return -1;
} else if (firstValue < secondValue) {
return 1;
} else /* if (firstValue == secondValue) */ {
return 0;
}
}
});
|
cs |
물론 비교를 compareTo로 해도 되긴하는데 내경 우에는 700 60 500의 값이 비교될 때
60이 500보다 우선순위로 정렬되는 기이현상으로 인하여
if else if로 구현하였음