반응형
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);
}
🙏 참조 ::
반응형
'Java' 카테고리의 다른 글
[Java] Map - getOrDefault 메소드 (0) | 2022.04.26 |
---|---|
[Java] POST 데이터 전송(application/x-www-form-urlencoded) 구현 (0) | 2022.04.26 |
[Java] List<Integer> To int[] (0) | 2022.04.26 |
[Java] SFTP 파일 전송(업로드) 구현(JSch 사용) (0) | 2022.04.26 |
[Java] 파일 Zip파일로 압축하여 업로드(암호설정) 구현(zip4j 사용) (0) | 2022.04.26 |