자바

자바 - 잘 기억 안나던 컬렉션 기능 정리

개발자 포비 2025. 1. 15. 23:45

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]);