숫자(Integer, Double) 타입일 경우에 값으로 정렬
문자열(String) 타입일 경우에는 유니코드로 정렬
=> java.lang.Comparable 구현 객체가 아닌 경우
직접 Comparable인터페이스를 implement하고 오버라이딩해줘야 한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
public class HashMapExam1 {
public static void main(String[] args) {
Map<String, Integer> map = new HashMap<String, Integer>();
map.put("신용권", 85);
map.put("홍길동", 90);
map.put("동장군", 80);
//-----------------------------------------------------//
// Map의 전체 요소를 순회하는 방법들
//-----------------------------------------------------//
//1. method : keySet() 을 이용한 순회
Set<String> keySet = map.keySet();
Iterator<String> keyIterator = keySet.iterator();
while(keyIterator.hasNext()) {
String key = keyIterator.next();
Integer value = map.get(key);
log.info("\t + " + key +" : " + value);
} //while
//2.method : entrySet() 을 이용한 순회
Set<Map.Entry<String, Integer>> entrySet = map.entrySet();
Iterator<Map.Entry<String, Integer>> entryIterator = entrySet.iterator();
while(entryIterator.hasNext()) {
Map.Entry<String, Integer> entry = entryIterator.next();
String key = entry.getKey();
Integer value = entry.getValue();
log.info("\t" + key + " : " + value);
} // while
//3. method : forEach() 최종처리 메소드를 이용한 순회
map.forEach( (t, v) -> {
String formatted = String.format("name : %s, value : %s",t, v);
log.info(formatted);
});
log.info(map);
} //main
} //end class
|
cs |
JAVA 14-4. LIFO와 FIFO 컬렉션 (0) | 2021.07.08 |
---|---|
JAVA 14-2. 컬렉션 프레임워크 - Set컬렉션 (0) | 2021.07.08 |
JAVA 14-1. 컬렉션 프레임워크 - List 컬렉션 (0) | 2021.07.04 |
JAVA 13-3. 람다식 - 디폴트 메소드 (0) | 2021.07.01 |
JAVA 13-2. 람다식 - 표준 API의 함수적 인터페이스 (0) | 2021.06.29 |