HashSetcontains로 찾는 속도가 일정함)HashMap이름 : 점수 처럼 연관된 데이터를 저장합니다.단순 오름차순 외에 코테에서 자주 나오는 정렬 기법
기본 정렬은 오름차순. 반대로 정렬하려면 Collections.reverseOrder()를 사용
주의: 내림차순을 쓸 때는
int가 아닌Integer같은 객체 타입 배열/리스트여야 함
Integer[] arr = {1, 3, 2, 5, 4};
Arrays.sort(arr, Collections.reverseOrder()); // 5, 4, 3, 2, 1
미로 좌표 (x, y)를 정렬하거나, [국어점수, 영어점수]처럼 배열을 정렬할 때 씀
int[][] score = {{80, 90}, {100, 70}, {80, 80}};
// 첫 번째 숫자(국어) 기준 오름차순, 같다면 두 번째(영어) 기준 오름차순
Arrays.sort(score, (o1, o2) -> {
if(o1[0] == o2[0]) {
return o1[1] - o2[1];
}
return o1[0] - o2[0];
});
PriorityQueue일반적인 큐와 달리 들어온 순서와 상관없이 가장 작은 값(또는 큰 값)이 맨 앞으로 옴!
Collections 클래스리스트를 다룰 때 Collections라는 클래스가 제공하는 기능들
| 메서드 | 기능 |
|---|---|
Collections.max(list) | 리스트에서 최댓값 찾기 |
Collections.min(list) | 리스트에서 최솟값 찾기 |
Collections.reverse(list) | 리스트 순서를 거꾸로 뒤집기 |
Collections.frequency(list, 값) | 특정 값이 리스트에 몇 개 있는지 세기 |
Collections.replaceAll(list, 옛값, 새값) | 리스트 내 모든 값을 교체하기 |
ArrayListHashSetHashMapPriorityQueueArrays.sort() 또는 Collections.sort()