자세한 설명은 다른 게시물에서 정리하도록 한다. 

간단하게 데이터를 추가, 출력, 삭제, 검색, 수정해보도록 한다.

 

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
package main;
 
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.TreeMap;
 
public class MainClass2 {
    public static void main(String[] args) {
        
        // 클래스 객체
//        HashMap<Integer, String> hMap = new HashMap<Integer, String>();
        
        // 인터페이스 객체
        Map<Integer, String> hMap = new HashMap<Integer, String>();
        
        // 추가
        hMap.put(1"Korea");
        hMap.put(2"USA");
        hMap.put(3"Japan");
        hMap.put(4"England");
        hMap.put(5"Spain");
        
        System.out.println(hMap.size()); // 5
        
        // value가 존재하는 key에 새로운 value를 넣을 수 있다.
//        hMap.put(4, "Canada");
        
        // 모두 출력
        // iterator(반복자) 이용
        Iterator<Integer> it = hMap.keySet().iterator(); // 첫번째 key에 대해 주소 저장
        while(it.hasNext()) {
            Integer key = it.next();
            String value = hMap.get(key);
            System.out.println(key + ":" + value);
        }
        
        // 삭제
        String deleteVal = hMap.remove(5); // key가 5인 Spain 삭제
        System.out.println("삭제된 value: " + deleteVal); // Spain
        
        // 검색
//               value           key
        String value = hMap.get(1);
        
        // key값에 해당하는 값이 있는지 모를 때,
        boolean b = hMap.containsKey(2); // b == true
        if(b) {
            String val = hMap.get(2);
            System.out.println("value: " + val); // value: USA
        }
         
        // 수정
        hMap.replace(3"China");
        it = hMap.keySet().iterator();
        while(it.hasNext()) {
            Integer key = it.next();
            String val = hMap.get(key);
            System.out.println(key + ":" + val);
            /* 출력 결과
            1:Korea
            2:USA
            3:China
            4:England
            */
        }
        
        // HashMap의 장점: 다양한 객체를 저장할 수 있다.
        String str = "Hello";
        Integer in = 123;
        ArrayList<String> list = new ArrayList<String>();
        
        Map<String, Object> map = new HashMap<String, Object>();        
        map.put("문자열", str);
        map.put("숫자"in);
        map.put("목록", list);
        
        
        // TreeMap
        // HashMap과 다르게 자동sorting이 되어 있다. (key값을 기준으로 sorting) 
        TreeMap<Integer, String> tMap = new TreeMap<Integer, String>( hMap );
        
        Iterator<Integer> it2 = hMap.keySet().iterator();
        
        while(it2.hasNext()) {
            int k = it2.next();
            String v = tMap.get(k);
            System.out.println("key:" + k + " value:" + v);
        }
        /*
            key:1 value:Korea
            key:2 value:USA
            key:3 value:China
            key:4 value:England 
        */
        
        // TreeMap으로 오름차순 정렬이 되었다고 해서 원래 데이터인 hMap의 데이터는 변경되지 않는다.
    }
}
 
cs

 

 

+ Recent posts