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의 기본 사용법]