HashMap은 Map 인터페이스를 구현한 대표적인 Map 컬렉션이다. Map 인터페이스를 상속하고 있기에 Map의 성질을 그대로 가지고 있다. Map이라는 것은 키(key)와 값(value) 두 쌍으로 데이터를 보관하는 자료구조다. 여기서 키는 맵에 오직 유일하게 있어야 한다. 같은 맵에 동일한 키가 존재하면 안된다는 것이다. 이름 그대로 열쇠이기 때문에 그 열쇠로 짝인 값(value)를 찾아야 한다. 값은 중복된 값이어도 상관이 없다.
ex)
public static void main(String[] args) {
Map<String, Integer> map = new HashMap(); //키 자료형, 값 자료형
map.put("김철수", 100);
map.put("안철수", 200);
map.put("신짱구", 300);
map.put("신짱구", 400); //중복된 key가 들어갈때는 이전 키, 값을 지금의 것으로 업데이트
System.out.println(map);
System.out.println(map.get("김철수"));
System.out.println(map.get("안철수"));
System.out.println(map.get("신짱구"));
}
}
map을 그냥 print로 출력하면 {}로 묶여 키와 값들이 출력된다. 기본적으로 map의 put, get이 아주 많이 사용된다. put은 키와 값을 map에 저장하는 메소드이며 get은 입력받은 key와 대응되는 값을 돌려준다. 만약 해당하는 key가 없다면 null을 넘겨주게 된다.
ex)
public static void main(String[] args) {
Map<String, String> map = new HashMap(); //키 자료형, 값 자료형
map.put("김철수", "kim");
map.put("안철수", "ahan");
map.put("신짱구", "sin");
System.out.println(map);
map.remove("김철수");
System.out.println(map);
map.clear();
System.out.println(map);
}
[결과]
키가 들어있는지 확인한다. 맵에서 인자로 보낸 key가 있으면 true, 없으면 false를 반환한다.
ex)
public static void main(String[] args) {
Map<String, String> map = new HashMap(); //키 자료형, 값 자료형
map.put("김철수", "kim");
map.put("안철수", "ahan");
map.put("신짱구", "sin");
System.out.println(map.containsKey("김철수"));
System.out.println(map.containsKey("맹구"));
}
[결과]
ex)
public static void main(String[] args) {
Map<String, String> map = new HashMap(); //키 자료형, 값 자료형
map.put("김철수", "kim");
map.put("안철수", "ahan");
map.put("신짱구", "sin");
System.out.println(map.containsValue("kim"));
System.out.println(map.containsValue("na"));
}
[결과]
ex)
public static void main(String[] args) {
Map<String, String> map = new HashMap(); //키 자료형, 값 자료형
map.put("김철수", "kim");
map.put("안철수", "ahan");
map.put("신짱구", "sin");
System.out.println(map.size());
}
[결과]