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로 구현하였음
'Development > Java' 카테고리의 다른 글
[Spring Framework] Cannot create PoolableConnectionFactory ORA-00923 (0) | 2018.07.26 |
---|---|
List Conllection의 중복제거를 위한 HashSet Collection (0) | 2018.04.06 |
[Spring 3.2] Servlet Xml 참고용 (0) | 2018.02.09 |
[Mybatis] selectkey 사용시 key 값을 가져오지 못하는 경우 (0) | 2017.05.23 |
[Mybatis] java.sql.SQLException: 허용되지 않은 작업 (0) | 2017.04.27 |