정렬
Java 에서 HashMap 정렬을 할때 , 정렬 기준은 key , value값으로 정렬할 수 있다.
1. Key 값을 기준으로 해서 정렬하기
Map의 KeySet을 이용해서 정렬할 수 있다.
A . Collections 메소드
정렬할 때에는 ArrayList를 사용해 줄 필요가 있다.
List<String> keySet = new ArrayList<>(boardMap.keySet()); // ArrayList 준비
오름차 순 시에는 Collections.sort(); 메소드
내림차 순 시에는 Collections.sort(list , Collections.reverseOrder()); 메소드를 사용한다.
Collections.sort(keySet); // 오름차순
Collections.sort(keySet,Collections.reverseOrder()); // 내림차순
Map에서 key값을 따로 정렬해서 Map내에서 정렬하는 것이 아닌 , key값을 외부 ArrayList로 정렬한 묶음으로
출력할 때 정렬되도록 하는 것으로 이해했다.
B . List.sort() - Java 8이후
Java 8 이후부터는 List에서 sort() 메소드를 호출하여 정렬할 수 있다.
ArrayList<String> keySet = new ArrayList<>(boardMap.keySet()); // ArrayList 준비
오름차 순 시에는 list.sort(Comparator.naturalOrder()); 메소드를 사용한다.
내림차 순 시에는 list.sort(Comparator.reverseOrder()); 메소드를 사용한다.
keySet.sort(Comparator.naturalOrder()); // 오름차순
KeySet.sort(Comparator.reverseOrder()); // 내림차순
2. Value 값을 기준으로 해서 정렬하기
'Java > Java icia 16일차' 카테고리의 다른 글
Map을 이용해서 게시판 수정하기 (0) | 2023.03.15 |
---|---|
Java hashCode , equals 메소드에 대해 (0) | 2023.03.15 |