✍️ Map to Set
1. Simple Loop
Map<Integer, String> map = new HashMap<>();
map.put(1, "이말년");
map.put(2, "침착맨");
map.put(3, "주호민");
Set<Integer> ids = new HashSet<>();
for (int id : map.keySet()) {
ids.add(id);
}
Set<String> names = new HashSet<>();
for (String name : map.values()) {
names.add(name);
}
System.out.println(ids);
System.out.println(names);
// [1, 2, 3]
// [침착맨, 이말년, 주호민]
2. Constructor
Map<Integer, String> map = new HashMap<>();
map.put(1, "이말년");
map.put(2, "침착맨");
map.put(3, "주호민");
Set<Integer> ids = new HashSet<>(map.keySet());
Set<String> names = new HashSet<>(map.values());
System.out.println(ids);
System.out.println(names);
// [1, 2, 3]
// [침착맨, 이말년, 주호민]
3. Java 8 Stream API
Key or Value to Set
Map<Integer, String> map = new HashMap<>();
map.put(1, "이말년");
map.put(2, "침착맨");
map.put(3, "주호민");
Set<Integer> ids = map.keySet().stream()
.collect(Collectors.toSet());
Set<String> names = map.values().stream()
.collect(Collectors.toSet());
System.out.println(ids);
System.out.println(names);
// [1, 2, 3]
// [침착맨, 이말년, 주호민]
Key and Value to Member
@AllArgsConstructor
@ToString
public class Member {
private int id;
private String name;
}
Map<Integer, String> map = new HashMap<>();
map.put(1, "이말년");
map.put(2, "침착맨");
map.put(3, "주호민");
Set<Member> memberSet = map.entrySet().stream()
.map(e -> new Member(e.getKey(), e.getValue()))
.collect(Collectors.toSet());
System.out.println(memberSet);
// [Member(id=2, name=침착맨), Member(id=3, name=주호민), Member(id=1, name=이말년)]
🌱 관련
[Java8] List를 Map으로 변환 (List to Map)
[Java8] List를 Set으로 변환 (List to Set)
[Java8] Set을 List로 변환 (Set to List)
[Java8] Set을 Map으로 변환 (Set to Map)
'Java > Java 8' 카테고리의 다른 글
[Java8] 반복문에서 CompletableFuture 사용하기, CompletableFuture in loop (0) | 2022.11.14 |
---|---|
[Java8] Map을 List로 변환 (Map to List) (0) | 2022.08.18 |
[Java8] Set을 Map으로 변환 (Set to Map) (0) | 2022.08.18 |
[Java8] Set을 List로 변환 (Set to List) (0) | 2022.08.17 |
[Java8] List를 Map으로 변환 (List to Map) (0) | 2022.08.16 |