728x90
반응형

List 중복 제거 방법

Java에서 List는 중복된 데이터를 가질 수 있음

 


set 이용하기

Set은 중복을 허용하지 않는 객체임

따라서, List를 Set으로 변경하면 자연스럽게 중복이 제거됨

import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
 
public class RemoveListDuplication {
    public static void main(String[] args) {
 
        // List 준비
        List<String> list = Arrays.asList("A", "B", "C", "A");
 
        // List를 Set으로 변경
        Set<String> set = new HashSet<String>(list);
 
        // Set을 List로 변경
        List<String> newList =new ArrayList<String>(set);
 
        // 결과 출력
        System.out.println(newList);	// [A, B, C]
 
    }
}

 


stream 이용하기

Java 8 이상에서는 Stream의 distinct() 를 이용해서 List의 중복을 제거할 수 있음

import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
 
public class RemoveListDuplication {
    public static void main(String[] args) {
 
        // List 준비
        List<String> list = Arrays.asList("A", "B", "C", "A");
 
        // 중복 제거
        List<String> newList = list.stream().distinct().collect(Collectors.toList());
 
        // 결과 출력
        System.out.println(newList);	// [A, B, C]
 
    }
}

 

 

반응형
복사했습니다!