Hash Map

알파로그·2023년 3월 12일
0

알고리즘 스킬

목록 보기
14/19

Map

✏️ Map 의 특징

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

⚙️ Method

  • values() : map 의 value 값 return
  • stream() : map 의 key 또는 value 값을 나열 (반복문 대용으로 사용가능)
  • filter() : map 의 요소에 특정 text 를 찾을 수 있음

📍 Map 으로 배열의 동일한 index 갯수 파악하기

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}

✏️ entrySet 과 keySet

두가지 모두 map 의 key 값과 value 값을 출력하는 method 이다.

  • entrySet : key 와 value 두가지 모두 필요사용해서 출력
  • keySey : key 값 만으로 출력

📍 entrySet()

for (Map.Entry<String,Integer> entry : pap.entrySet())
            System.out.println(
                    "Key > " + entry.getKey() +" : Value > "+ entry.getValue());

📍 keySet()

for (String key : pap.keySet()){
            int value = pap.get(key);
            System.out.print(" / Key > " + key +" : Value > "+ value);
        }

[Collections Framework 의 구성]
[생활 코딩 : Java : Collections framework : Map의 기본 사용법]

profile
잘못된 내용 PR 환영

0개의 댓글