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

2021. 12. 26. 23:30
728x90
반응형

2021.12.26

76번째 포스팅

 

입사 294일차.

몸이 많이 좋지 않아서 그동안 포스팅을 하지 못했다.

오늘은 프로젝트 참여중에 알게된 HashMap의 사용법에 대해 써보려고 한다.

 

 

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
반응형

BELATED ARTICLES

more