자세한 설명은 다른 게시물에서 정리하도록 한다.
간단하게 데이터를 추가, 출력, 삭제, 검색, 수정해보도록 한다.
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 |
'Java' 카테고리의 다른 글
JDBC - insert, select, update, delete문 작성하기(java) (0) | 2023.02.10 |
---|---|
Singleton 간단하게 구현해보기 (0) | 2023.02.09 |
BufferedReader vs Scanner, BufferedWriter vs System.out.println() (백준 15552번: 빠른 A+B) (0) | 2023.01.18 |
String - Java (0) | 2023.01.15 |
참조변수 super, 생성자 super() (0) | 2022.12.31 |