[BE/JAVA] HashMap clear() vs new HashMap<>()

    728x90
    반응형

     

    0. HashMap을 초기화하려고 할 때, HashMap.clear()와 new HashMap<>()중 무엇을 사용해야 할까?

      ① 정답 : new HashMap<>();

     

     

    1. HashMap.clear()

      ① 구조

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    // HashMap.clear() 메소드의 
    public void clear() {
        Node<K,V>[] tab;
        modCount++;
        if ((tab = table) != null && size > 0) {
            size = 0;
            for (int i = 0; i < tab.length++i)
             tab[i] = null;
        }
    }
    cs

      ② clear() 메소드는 반복문을 사용해서 key와 value들을 초기화시킨다.

     

     

    2. new HashMap<>()

      ① new 생성자를 사용해서 새로운 객체(인스턴스)를 생성한다.

     

     

    3. 결과

      ① new HashMap<>() 이 반복문을 이용하는 clear()에 비해 빠르고 편하다.

      ② key가 많을수록 서버에 가해지는 부담이 크다.

    728x90
    반응형

    댓글