[Java8] List를 Set으로 변환 (List to Set)

 

✍️ List to Set

1. Java 8 Stream API

List<Integer> integerList = Arrays.asList(1, 1, 2, 3, 2, 1);
Set<Integer> integerSet = integerList.stream().collect(Collectors.toSet());

// [1, 2, 3]

 

2. Constructor

List<Integer> integerList = Arrays.asList(1, 1, 2, 3, 2, 1);
Set<Integer> integerSet = new HashSet<>(integerList);

// [1, 2, 3]

 

3. addAll

List<Integer> integerList = Arrays.asList(1, 1, 2, 3, 2, 1);
Set<Integer> integerSet = new HashSet<>();

integerSet.addAll(integerList);

// [1, 2, 3]

 

개인적으로 Stream API를 정말 많이 사용한다.

 

🍊 List to Set Stream API 응용

@Getter
@AllArgsConstructor
public class Member {
    
    private int id;
    private String name;
}

 

중복을 제거한 Member들의 이름을 가져올 수 있다.

List<Member> members = new ArrayList<>();
members.add(new Member(1, "침착맨"));
members.add(new Member(2, "이말년"));
members.add(new Member(3, "이말년"));

Set<String> uniqueNames = members.stream()
        .map(Member::getName)
        .collect(Collectors.toSet());

System.out.println(uniqueNames); // [침착맨, 이말년]

 

🌱  관련

[Java8] List를 Map으로 변환 (List to Map)

[Java8] List를 Set으로 변환 (List to Set)

[Java8] Set을 List로 변환 (Set to List)

[Java8] Set을 Map으로 변환 (Set to Map)

[Java8] Map을 List로 변환 (Map to List)

[Java8] Map을 Set으로 변환 (Map to Set)