반응형
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' 카테고리의 다른 글
[알고리즘/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 |