map 은 기본적으로 key 와 value 2개의 container를 가지게 된다.
예를 들어 key 값으로 "one" / value 에 1 을 넣을경우
intput : "one" 을 할경우
output : 1 이 출력된다.
💡 ket 값은 중복이 불가하지만 value 는 중복 가능
HashMap<String, Integer> map = new HashMap<>();
map.put("one",1);
map.put("two",2);
map.put("three",3);
map.put("four",4);
System.out.println(map.get("one")); //1
System.out.println(map.get("four")); //4
값을 넣을 때는 put
출력 할땐 get
int [] i = {1,2,3,3,2,1,1,4,5};
HashMap<Integer, Integer> map = new HashMap<>();
for(int key : i) map.put(key, map.getOrDefault(key , 0)+1);
System.out.println(map);
// {1=3, 2=2, 3=2, 4=1, 5=1}
각 index 값과 동일한 index 값의 갯수를 계산해준다.
💡 String 도 가능
String x = "hello";
HashMap<String, Integer> pap = new HashMap<>();
for(String key : x.split(""))
pap.put(key, pap.getOrDefault(key, 0) + 1);
//{e=1, h=1, l=2, o=1}
두가지 모두 map 의 key 값과 value 값을 출력하는 method 이다.
for (Map.Entry<String,Integer> entry : pap.entrySet())
System.out.println(
"Key > " + entry.getKey() +" : Value > "+ entry.getValue());
for (String key : pap.keySet()){
int value = pap.get(key);
System.out.print(" / Key > " + key +" : Value > "+ value);
}
[Collections Framework 의 구성]
[생활 코딩 : Java : Collections framework : Map의 기본 사용법]