Java 컬렉션 정리
1. PriorityQueue 사용법
// 최소 힙(오름차순)
PriorityQueue<Integer> minHeap = new PriorityQueue<>();
// 최대 힙(내림차순)
PriorityQueue<Integer> maxHeap = new PriorityQueue<>((a, b) -> b - a);
// 주요 메서드
pq.offer(값); // 요소 추가
pq.poll(); // 최우선 요소 제거 및 반환
pq.peek(); // 최우선 요소 확인
2. HashMap 값으로 정렬하기
Map<String, Integer> map = new HashMap<>();
// 값(Integer) 기준 내림차순 정렬하여 키(String) 리스트 얻기
List<String> sortedList = map.entrySet()
.stream()
.sorted(Map.Entry.<String, Integer>comparingByValue().reversed())
.map(Map.Entry::getKey)
.collect(Collectors.toList());
3. List를 Array로 변환
List<Integer> list = new ArrayList<>();
// 방법 1: int[] 배열로 변환 (기본 타입)
int[] array1 = list.stream()
.mapToInt(Integer::intValue)
.toArray();
// 방법 2: Integer[] 배열로 변환 (참조 타입)
Integer[] array2 = list.toArray(new Integer[0]);
// 방법 3: List<String>을 String[]로 변환
List<String> stringList = new ArrayList<>();
String[] stringArray = stringList.toArray(new String[0]);
댓글