Java
[Java] Map To List
jn4624
2022. 4. 26. 23:16
반응형
1. List 직접 생성
public static void main(String[] args) {
Map<Integer, Integer> map = new HashMap<Integer, Integer>();
for( int i=0; i<7; i++ ) {
map.put(i, i+1);
}
List<Integer> keyList = new ArrayList<Integer>(map.keySet());
List<Integer> valueList = new ArrayList<Integer>(map.values());
System.out.println(keyList);
System.out.println(valueList);
}
Map은 keySet() 메소드와 values() 메소드를 제공하고 있으며 이 메소드를 이용하여 Map 객체를 List 객체로 변환할 수 있다.
keySet() 메소드는 Set 객체를 리턴하고 values() 메소드는 Collection 객체를 리턴한다.
2. Stream을 사용하여 List 생성
public static void main(String[] args) {
Map<Integer, Integer> map = new HashMap<Integer, Integer>();
for( int i=0; i<7; i++ ) {
map.put(i, i+1);
}
List<Integer> keyList = map.keySet().stream().collect(Collectors.toCollection(ArrayList::new));
List<Integer> valueList = map.values().stream().collect(Collectors.toCollection(ArrayList::new));
System.out.println(keyList);
System.out.println(valueList);
}
결과는 위와 동일하다.
다만 특정 조건으로 필터링하여 List를 구현하고 싶다면 Stream을 사용하는 편이 더 나을 수도 있다.
3. 특정 조건으로 필터링하여 List 생성
public static void main(String[] args) {
Map<Integer, Integer> map = new HashMap<Integer, Integer>();
for( int i=0; i<7; i++ ) {
map.put(i, i+1);
}
List<Integer> valueList = map.values().stream()
.filter((number) -> !number.equals(4))
.collect(Collectors.toCollection(ArrayList::new));
System.out.println(valueList);
}
🙏 참조 ::
반응형