March 28, 2022

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
/**
* Map
*/
public class Map {
public static void main(String[] args) {
HashMap<String, String> map = new HashMap<>();
map.put("people", "Lewis Hamilton");
map.put("team", "Mercedes AMG Petronas");
System.out.println(map);
System.out.println(map.get("people")); // people 키에 해당하는 값 반환
System.out.println(map.get("number")); // 없는 키 접근시 null 리턴
System.out.println(map.getOrDefault("number", "NoNumber")); // 디폴트를 지정한다면 없는 키 접근시 디폴트 반환
System.out.println(map.containsKey("team")); // 전달된 키가 있는지 조사하여 그 결과를 boolean으로 반환
System.out.println(map.size()); // HashMap size (키 갯수) 반환
System.out.println(map.keySet()); // HashMap의 모든 키를 모아서 Set으로 반환
List<String> keyList = new ArrayList<>(map.keySet()); // List로 바꿔서 반환도 가능하다.
System.out.println(keyList);
System.out.println(map.remove("team")); // 전달된 키에 해당하는 데이터를 삭제하고 삭제된 value를 반환
System.out.println(map);
}
}
/*
Output
{team=Mercedes AMG Petronas, people=Lewis Hamilton}
Lewis Hamilton
null
NoNumber
true
2
[team, people]
[team, people]
Mercedes AMG Petronas
{people=Lewis Hamilton}
*/Python의 Dictionary와 비슷하다.
map.put(key, value);데이터 삽입
map.get(key);key에 해당하는 value를 얻는다.
map.getOrDefault(key, default);기본적으로 value가 없는 키에 접근시 null이 반환된다 이때 getOrDefault메서드를 사용하면 기본값을 지정하여 value가 없더라도 지정한 기본값이 반환된다.
map.containsKey(key);주어진 key가 존재하는지에 대한 여부를 boolean으로 반환한다.
map.remove(key);주어진 key에 대한 아이템을 삭제하고 삭제된 value를 반환한다.
map.size();Map의 개수 (key 갯수)를 반환한다.
map.keySet();Map의 모든 key를 Set 자료형으로 반환한다.
List<String> keyList = new ArrayList<>(map.keySet());또한 위와 같이 List자료형으로 바꿔서 사용도 가능하다.
💡
LinkedHashMap과TreeMap
LinkedHashMap은 입력된 순서대로 데이터를 저장하는 특징을 가지고 있다.TreeMap은 입력된 key의 오름차순 순서로 데이터를 저장하는 특징을 가지고 있다.