SeouliteLab

[Java/자바] HashSet 정렬하는 3가지 방법 본문

프로그래밍

[Java/자바] HashSet 정렬하는 3가지 방법

Seoulite Lab 2024. 3. 8. 09:39

HashSet 정렬 방법

Java의 HashSet은 정렬되지 않은 데이터를 저장하는데 유용한 컬렉션입니다. 하지만 때때로 정렬된 순서로 요소를 가져오고 싶을 때가 있습니다. 이번 글에서는 Java에서 HashSet을 정렬하는 세 가지 방법을 살펴보겠습니다.

1. TreeSet 사용

TreeSet은 정렬된 순서로 요소를 저장하는 Set 인터페이스의 구현체입니다. TreeSet에 요소를 추가하면 자동으로 정렬됩니다.


import java.util.*;

public class Main {
    public static void main(String[] args) {
        Set numbers = new TreeSet<>(Arrays.asList(3, 1, 2));
        System.out.println("정렬된 HashSet: " + numbers);
    }
}

출력:

정렬된 HashSet: [1, 2, 3]

2. ArrayList로 변환 후 정렬

HashSet을 ArrayList로 변환한 다음 Collections.sort() 메서드를 사용하여 정렬할 수 있습니다.


import java.util.*;

public class Main {
    public static void main(String[] args) {
        Set numbers = new HashSet<>(Arrays.asList(3, 1, 2));
        List sortedNumbers = new ArrayList<>(numbers);
        Collections.sort(sortedNumbers);
        System.out.println("정렬된 HashSet: " + sortedNumbers);
    }
}

출력:

정렬된 HashSet: [1, 2, 3]

3. Stream.sorted() 메서드 사용

Java 8 이상에서는 Stream.sorted() 메서드를 사용하여 HashSet을 정렬할 수 있습니다.


import java.util.*;
import java.util.stream.*;

public class Main {
    public static void main(String[] args) {
        Set numbers = new HashSet<>(Arrays.asList(3, 1, 2));
        List sortedNumbers = numbers.stream().sorted().collect(Collectors.toList());
        System.out.println("정렬된 HashSet: " + sortedNumbers);
    }
}

출력:

정렬된 HashSet: [1, 2, 3]