반응형
Map에서 값 천체 출력을 하기 위해서 entrySet(), keyset() 메소드를 사용하게 된다.
▶ entrySet
- key와 value의 값이 모두 필요한 경우 사용한다.
Map<String, String> map = new HashMap<String, String>();
map.put("key01", "value01");
map.put("key02", "value02");
map.put("key03", "value03");
map.put("key04", "value04");
map.put("key05", "value05");
// 방법 01 : entrySet()
for (Map.Entry<String, String> entry : map.entrySet()) {
System.out.println("[key]:" + entry.getKey() + ", [value]:" + entry.getValue());
}
▶ keySet
- key의 값만 필요한 경우 사용한다.
Map<String, String> map = new HashMap<String, String>();
map.put("key01", "value01");
map.put("key02", "value02");
map.put("key03", "value03");
map.put("key04", "value04");
map.put("key05", "value05");
// 방법 02 : keySet()
for (String key : map.keySet()) {
String value = map.get(key);
System.out.println("[key]:" + key + ", [value]:" + value);
}
※ 참고
참고 01 : entrySet().iterator()
Map<String, String> map = new HashMap<String, String>();
map.put("key01", "value01");
map.put("key02", "value02");
map.put("key03", "value03");
map.put("key04", "value04");
map.put("key05", "value05");
// 방법 03 : entrySet().iterator()
Iterator<Map.Entry<String, String>> iteratorE = map.entrySet().iterator();
while (iteratorE.hasNext()) {
Map.Entry<String, String> entry = (Map.Entry<String, String>) iteratorE.next();
String key = entry.getKey();
String value = entry.getValue();
System.out.println("[key]:" + key + ", [value]:" + value);
}
참고 02 : keySet().iterator()
Map<String, String> map = new HashMap<String, String>();
map.put("key01", "value01");
map.put("key02", "value02");
map.put("key03", "value03");
map.put("key04", "value04");
map.put("key05", "value05");
// 방법 04 : keySet().iterator()
Iterator<String> iteratorK = map.keySet().iterator();
while (iteratorK.hasNext()) {
String key = iteratorK.next();
String value = map.get(key);
System.out.println("[key]:" + key + ", [value]:" + value);
}
참고 03 : Lambda 사용
Map<String, String> map = new HashMap<String, String>();
map.put("key01", "value01");
map.put("key02", "value02");
map.put("key03", "value03");
map.put("key04", "value04");
map.put("key05", "value05");
// 방법 05 : Lambda 사용
map.entrySet().stream().forEach(entry-> {
System.out.println("[key]:" + entry.getKey() + ", [value]:"+entry.getValue());
});
참고 04 : Stream 사용
Map<String, String> map = new HashMap<String, String>();
map.put("key01", "value01");
map.put("key02", "value02");
map.put("key03", "value03");
map.put("key04", "value04");
map.put("key05", "value05");
// 방법 06 : Stream 사용
map.entrySet().stream().forEach(entry-> {
System.out.println("[key]:" + entry.getKey() + ", [value]:"+entry.getValue());
});
// Stream 사용 - 내림차순
map.entrySet().stream().sorted(Map.Entry.comparingByKey()).forEach(entry-> {
System.out.println("[key]:" + entry.getKey() + ", [value]:"+entry.getValue());
});
// Stream 사용 - 오름차순
map.entrySet().stream().sorted(Map.Entry.comparingByKey(Comparator.reverseOrder())).forEach(entry-> {
System.out.println("[key]:" + entry.getKey() + ", [value]:"+entry.getValue());
});
출처
https://tychejin.tistory.com/31
[Java] Map 전체 출력(entrySet, keySet, Iterator)
Map에 값을 전체 출력하기 위해서는 entrySet(), keySet() 메소드를 사용하면 되는데 entrySet() 메서드는 key와 value의 값이 모두 필요한 경우 사용하고, keySet() 메서드는 key의 값만 ..
tychejin.tistory.com
반응형
'Java' 카테고리의 다른 글
[알고리즘/Java] String(문자열) - 대소문자 변환 (0) | 2022.07.16 |
---|---|
[알고리즘/Java] String(문자열) - 문자찾기 (0) | 2022.07.15 |
[Spring] Jackson ObjectMapper (0) | 2022.07.15 |
[Java] List<E> subList(int fromIndex, int toIndex); (0) | 2022.07.15 |
[Java] File Class - 특정 디렉토리 파일 목록 가져오기 (list/listFiles) (0) | 2022.07.15 |