Java Map
맵 (Map)
맵(Map)은 사전(dictionary)와 비슷하다.
즉, people 이란 단어에 “사람”이라는 뜻이 부합되듯이 Map은 Key와 Value라는 것을 한 쌍으로 갖는 자료형이다.
key | value |
---|---|
people | 사람 |
baseball | 야구 |
Map은 리스트나 배열처럼 순차적으로 해당 요소 값을 구하지 않고 Key를 통해 Value를 얻는다.
맵의 특징
- Key로 Value를 얻어냄
- 순차적으로 모두 검색하지 않고 Key의 단어가 있는 곳만을 펼쳐본다.
Map 역시 List와 마찬가지로 인터페이스이다.
Map 자료형에는 HashMap, LinkedHashMap, TreeMap등이 있다.
우선 HashMap을 이용하기 위해서는 import 해줘야 할 코드가 있다.
import java.util.HashMap;
[ put ]
맵에 값을 적용하기 위해서는 “put” 메소드를 이용한다.
HashMap<String, String> map = new HashMap<String, String>();
map.put("people", "사람");
map.put("baseball", "야구");
Scanner를 이용하여 Key와 Value값을 받는 방법도 있다.
String a, b;
for(int i = 0; i < 3; i++) {
a = sc.next();
b = sc.next();
map.put(a, b);
}
[ get ]
Key로 value의 값을 얻기 위해서는 “get” 메소드를 사용한다.
System.out.println(map.get("people")); // "사람"
System.out.println(map.get("baseball")); // "야구"
[ containsKey ]
이 메소드는 맵에 해당 키(Key)가 있는지를 조사하고 그 결과값을 리턴한다.
System.out.println(map.containsKey("people")); // true
System.out.println(map.containsKey("Man")); // false
[ remove ]
이 메소드는 맵의 항목을 삭제하는 메소드로 Key값에 해당되는 아이템(key, value)을 삭제한 후 그 value 값을 리턴한다.
System.out.println(map.remove("people")); // 사람
위 코드에서 출력문을 작성하지 않으면 삭제된 value 값은 출력되지 않고 삭제만 된다.
[ size ]
이 메소드는 Map의 갯수를 리턴한다.
System.out.println(map.size()); // 1
remove 메소드로 “people”의 항목이 삭제 되었기 때문에 맵의 크기는 1이다.