HashMap 예제

자바 HashMap 예제


Ex)

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
import java.util.*;
public class HashMapTest {
public static void main(String[] args) {
boolean rtn = false;
int hashMapSize = 0;
String value1 = "01012341234";
HashMap<String, String> hm = new HashMap<String, String>();
hm.put(value1, "billing_account");
hm.put("01612341234", "billing_account");
hm.put("01099992580", "customer");
// hashmap size check : 3
hashMapSize = hm.size();
System.out.println("Hashmap size = [" + hashMapSize + "]");
// hashmap print
Set set = hm.keySet();
Object[] hmKeys = set.toArray();
for (int i = 0; i < hashMapSize; i++) {
String key = (String) hmKeys[i];
System.out.println("key[" + key + "], value["
+ (String) hm.get(key) + "]");
}
// exist check : true
rtn = hm.containsKey(value1);
if (rtn == true) {
System.out.println("key 01012341234 exist");
System.out.println("value=[" + (String) hm.get(value1) + "]");
} else {
System.out.println("key 01012341234 not exist");
}
// key remove
hm.remove(value1);
// hashmap size check : 3 ->2
hashMapSize = hm.size();
System.out.println("Hashmap size = [" + hashMapSize + "]");
// all clear
hm.clear();
// hashmap size check : 2 ->0
hashMapSize = hm.size();
System.out.println("Hashmap size = [" + hashMapSize + "]");
}
}

Ex ) 버전 차이 설명

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

// 이클립스로 java 1.4의 형태로 Map을 다음과 같이 정의하면 key, value와 관련된 권고사항이 나온다.
//<= Java 1.4
HashMap map = new HashMap();
map.put(“apple”, “red”);
map.put(“banana”, “yellow”);
map.put(“grape”, “purple”);
Iterator iter = map.entrySet().iterator();
while (iter.hasNext()) {
Entry entry = (Entry) iter.next();
System.out.println(“key : ” + entry.getKey() + ” / value : “ + entry.getValue());
}

/*
1.5버전으로 Map을 정의하고 싶었지만 이해가 잘 되지 않아서 이전 버전으로 사용하다가
for each의 구문이 필요해서 웹사이트를 뒤지다 보니 아래의 좋은 예가 발견되었다.
그래서 1.5의 Map정의도 자연스럽게 이해가 되었다.
*/
//>= Java 1.5
Map<String, String>mp = new HashMap<String, String>();
mp.put(“apple”, “red”);
mp.put(“banana”, “yellow”);
mp.put(“grape”, “purple”);
for (Map.Entry<String, String>entry: mp.entrySet()) {
System.out.println(“key : ” + entry.getKey() + ” / value : “ + entry.getValue());
}
// * 설명
Map<String, String>mp = new HashMap<String, String>();
/*
Map의 "<>"속에 들어가는 것은 Key와 Value값이다.
즉, Map속의 데이터를 찾을 때 Key는 String형태이고, 그 값 또한 String이란 의미이다.
이런식으로 정의하게 되면 다음과 같은 장점이 있다.
1.4에서는 Map의 데이터를 꺼내올때마다 적절하게 타입을 지정해서 컨버팅해줘야먄 했다.
왜냐면, Map의 값은 항상 Object 였기 때문이었다. 그래서 아래와 같은 타입지정이 필요했다.
*/
HashMap map = new HashMap();
map.put(“apple”, “red”);
String tmp = (String) map.get("apple");
// 1.5식으로 코딩하게 되면 미리 타입을 지정하기 때문에 그냥 사용할 수 있는 편리함이 있다.
Share