Computer Language/JAVA

[JAVA] Map 전체 출력(entrySet, keySet, Iterator)

꽁치_로그 2022. 9. 27. 14:38
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Map<StringString> map = new HashMap<StringString>();
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<StringString> map = new HashMap<StringString>();
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<StringString> 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<StringString> map = new HashMap<StringString>();
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<StringString> map = new HashMap<StringString>();
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<StringString>> iteratorE = map.entrySet().iterator();
while (iteratorE.hasNext()) {
    Map.Entry<StringString> entry = (Map.Entry<StringString>) 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<StringString> map = new HashMap<StringString>();
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<StringString> map = new HashMap<StringString>();
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<StringString> map = new HashMap<StringString>();
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