1 2 3 4 5 6 7 8 9 10 11 12 13 14 | 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); } | cs |
Map의 값을 전체 출력하는 방법을 알아보겠습니다.
방법1 : entrySet()
1 2 3 4 5 6 7 8 9 10 11 12 | 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()); } | cs |
key와 value의 값 모두 필요한 경우에 사용합니다.
방법2 : keySet()
1 2 3 4 5 6 7 8 9 10 11 12 | 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); } | cs |
key의 값만 필요한 경우에 사용합니다.
방법3 : entrySet().iterator()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | 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); } | cs |
iterator 인터페이스를 사용할 수 없는 컬렉션인 Map에서 iterator 인터페이스를 사용하기 위해서는 Map에 entrySet(), keySer() 메소드를 사용하여 Set 객체를 반환받은 후 iterator 인터페이스를 사용합니다.
방법4 : keySet().iterator()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | 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); } | cs |
방법5 : Lambda
1 2 3 4 5 6 7 8 9 10 11 | 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()); }); | cs |
방법6 : Stream 사용
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | 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()); }); | cs |
반응형
'Computer Language > JAVA' 카테고리의 다른 글
[JAVA] JAVA Thread(스레드) 사용법 & 예제 (0) | 2022.12.31 |
---|