java 프로그래밍
제 32장 HashMap 클래스
jeongho son
2019. 5. 6. 21:54
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
|
HashMap 클래스 (Map 구현)
Map은 키와 키에 대응하는 값을 쌍으로 구성된 요소(객체)로 저장하는 컬렉션입니다.
자바에서는 Map 인터페이스를 구현한 HashMap, LinkedHashMap, TreeMap 등 몇 가지 클래스를 제공합니다.
여기서는 대표적인 HashMap 클래스에 관해 설명하겠습니다.
Map을 구현한 주요 클래스
클래스명 설명
HashMap 일반적인 Map 구현
LinkedHashMap 추가한 순서를 유지하는 Map 구현
HashMap 클래스의 주요 메소드
메소드명 설명
boolean put(K key, V value) 지정한 키와 값을 쌍으로 저장한다.
boolean remove(Object key) 키와 대흥하는 값을 삭제한다.
void clear() 모든 요소를 삭제한다.
boolean isEmpty() 요소가 없으면 true를 반환한다.
Set<K>ketSet() 맴에 포함된 키 목록을 Set으로 가져온다.
int size() 요소의 개수를 반환한다.
boolean containKey(Object key) 지정한 키가 포함되어 있으면 true를 반환한다.
boolean containValue(Object value) 지정한 값이 포함되어 있으면 true를 반환한다.
HashMap 선언하는 방법
Map<K,V> 변수명 = new HashMap<K,V>();
제네릭의 형을 2개 지정 지정하였고 처음의 K가 키의 형이고, V는 갑의 형입니다.
생략 기법을 이용하면
Map<K,V> 변수명 = new HashMap<>();
요소 추가와 변경
HashMap 객체에 값을 추가할때는 put 메소드를 이용합니다.
List나 Set 컬렉션의 set 메소드와 역할을 같지만 메소드명이 다릅니다.
키와 값을 쌍으로 지정해야 하므로 인수를 2개 지정합니다.
첫 번째 인수가 키, 두 번째 인수가 값 입니다.
//키와 값을 쌍으로 저장합니다.
또한 HashMap 객체가 이미 같은 키를 가지고 있을때는 이전 값을 새로운 값으로 덮어 씁니다.
요소 추출 하는 방법
HashMap으로 값을 추출할 때는 get 메소드를 이용합니다.
인수로는 키를 지정합니다.지정된 키가 HashMap 객체에 있으면 대응하는 값을 가져올수 있습니다.
키가 없을때는 null 값이 반환 됩니다.
요소 삭제
HashMap 객체에서 요소를 삭제 하려면 remove 메소드를 사용해야 합니다.
인수로 키를 지정하면 대응하는 키와 값을 삭제할수 있습니다.
map.remove("Red");
지정된 요소를 모두 삭제할 때는 clear 메소드를 이용합니다.
HashMap 메소드를 총정리해보면
package son;
public class HashMapEx {
public static void main(String[] args) {
Map<String, String > map = new HashMap();
//키와 값을 쌍으로 저장
//요소 삭제
map.remove("Red");
// 값 표시
System.out.println(value);
}
}
}
출력값
Grape
Orange
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4f; text-decoration:none">Colored by Color Scripter
|
http://colorscripter.com/info#e" target="_blank" style="text-decoration:none; color:white">cs |