[java] 자바 힙에서 중복된 값 처리 예시

자바 프로그램에서 힙(heap)은 동적으로 할당된 메모리의 영역으로서, 객체와 배열이 저장되는 곳입니다. 때때로 중복된 값의 처리가 필요한 상황이 발생할 수 있는데, 이를 위해 자바에서는 다양한 방법을 제공합니다.

HashSet을 활용한 중복 제거

HashSet중복을 허용하지 않고 유일한 값을 저장하는 자료구조입니다. 아래는 HashSet을 사용하여 중복된 값을 제거하는 예시 코드입니다.

import java.util.HashSet;

public class RemoveDuplicates {
    public static void main(String[] args) {
        String[] names = { "John", "Jane", "John", "Doe", "Jane" };
        HashSet<String> uniqueNames = new HashSet<>();
        
        for (String name : names) {
            uniqueNames.add(name);
        }

        for (String uniqueName : uniqueNames) {
            System.out.println(uniqueName);
        }
    }
}

위의 코드는 names 배열에서 중복된 값을 제거한 후, 유일한 값만을 출력합니다.

TreeSet을 활용한 정렬과 중복 제거

TreeSet중복을 허용하지 않고 값들을 정렬하여 저장하는 자료구조입니다. 아래는 TreeSet을 사용하여 중복된 값을 제거하고 정렬하는 예시 코드입니다.

import java.util.TreeSet;

public class RemoveDuplicatesAndSort {
    public static void main(String[] args) {
        String[] names = { "John", "Jane", "John", "Doe", "Jane" };
        TreeSet<String> uniqueSortedNames = new TreeSet<>();
        
        for (String name : names) {
            uniqueSortedNames.add(name);
        }

        for (String uniqueSortedName : uniqueSortedNames) {
            System.out.println(uniqueSortedName);
        }
    }
}

위의 코드는 names 배열에서 중복된 값을 제거하고 정렬한 후, 결과를 출력합니다.

중복된 값의 처리는 프로그램에서 자주 발생하는 문제이며, HashSetTreeSet을 활용하여 효과적으로 처리할 수 있습니다.

참고 문헌:

  1. Oracle Java Documentation - HashSet
  2. Oracle Java Documentation - TreeSet