SeouliteLab

[Java/자바] 리스트 중복 제거 2가지 방법 본문

프로그래밍

[Java/자바] 리스트 중복 제거 2가지 방법

Seoulite Lab 2024. 3. 11. 08:24

리스트에서 중복된 요소를 제거하는 것은 데이터 처리에서 흔히 사용됩니다. Java에서는 다양한 방법으로 리스트의 중복을 제거할 수 있습니다. 이번 글에서는 두 가지 방법을 소개하고 각각의 예제를 통해 실습해보겠습니다.

1. HashSet을 이용한 중복 제거

HashSet은 중복을 허용하지 않는 자료구조이므로, 중복을 제거하기 위해 리스트의 모든 요소를 HashSet에 추가한 후, 중복이 제거된 요소를 다시 리스트로 변환하는 방식을 사용할 수 있습니다.

예제 1: HashSet을 이용한 중복 제거

import java.util.*;

public class RemoveDuplicatesWithHashSet {
    public static void main(String[] args) {
        List<String> list = Arrays.asList("Java", "Python", "Java", "C++", "Python");
        
        Set<String> set = new HashSet<>(list);
        List<String> uniqueList = new ArrayList<>(set);
        
        System.out.println("Original List: " + list);
        System.out.println("List after removing duplicates: " + uniqueList);
    }
}

2. Java 8 Stream API를 이용한 중복 제거

Java 8부터는 Stream API를 통해 간단하게 중복을 제거할 수 있습니다. distinct() 메서드를 사용하여 중복 요소를 제거할 수 있습니다.

예제 2: Java 8 Stream API를 이용한 중복 제거

import java.util.*;

public class RemoveDuplicatesWithStream {
    public static void main(String[] args) {
        List<String> list = Arrays.asList("Java", "Python", "Java", "C++", "Python");
        
        List<String> uniqueList = list.stream().distinct().collect(Collectors.toList());
        
        System.out.println("Original List: " + list);
        System.out.println("List after removing duplicates: " + uniqueList);
    }
}

3. 예제 설명

첫 번째 예제에서는 HashSet을 이용하여 중복을 제거하고, 두 번째 예제에서는 Java 8 Stream API를 이용하여 중복을 제거합니다. 각각의 예제는 간단하면서도 효과적으로 중복을 제거하는 방법을 보여줍니다.