✍️ Map to List
@AllArgsConstructor
@ToString
public class Member {
private int id;
private String name;
}
Map.keySet() : Key 값들을 Set으로 반환
Map.values() : Value 값들을 Collection으로 반환
1. Constructor
Map<Integer, String> map = new HashMap<>();
map.put(1, "이말년");
map.put(2, "침착맨");
map.put(3, "주호민");
List<Integer> ids = new ArrayList<>(map.keySet());
System.out.println(ids);
// [1, 2, 3]
List<String> names = new ArrayList<>(map.values());
System.out.println(names);
// [이말년, 침착맨, 주호민]
2. Simple Loop
Map<Integer, String> map = new HashMap<>();
map.put(1, "이말년");
map.put(2, "침착맨");
map.put(3, "주호민");
List<Member> members = new ArrayList<>();
for (int id : map.keySet()) {
members.add(new Member(id, map.get(id)));
}
System.out.println(members);
// [Member(id=1, name=이말년), Member(id=2, name=침착맨), Member(id=3, name=주호민)]
3. Java 8 Stream API
Map의 Key 혹은 Value를 List로 변환하는 케이스
Map<Integer, String> map = new HashMap<>();
map.put(1, "이말년");
map.put(2, "침착맨");
map.put(3, "주호민");
List<Integer> ids = map.keySet().stream().collect(Collectors.toList());
System.out.println(ids);
// [1, 2, 3]
List<String> names = map.values().stream().collect(Collectors.toList());
System.out.println(names);
// [이말년, 침착맨, 주호민]
🍊 Map to List Stream API 응용
Map.entrySet() : Key, Value Entry를 Set으로 반환
Map의 Key와 Value로 객체를 만들어 List로 변환하는 케이스
Map<Integer, String> map = new HashMap<>();
map.put(1, "이말년");
map.put(2, "침착맨");
map.put(3, "주호민");
List<Member> members = map.entrySet().stream()
.map(m -> new Member(m.getKey(), m.getValue()))
.collect(Collectors.toList());
System.out.println(members);
// [Member(id=1, name=이말년), Member(id=2, name=침착맨), Member(id=3, 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을 Set으로 변환 (Map to Set) (0) | 2022.08.22 |
[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 |