ArrayList 대 HashMap

ArrayList  그리고  해시맵  Java의 두 컬렉션 클래스입니다. 데이터를 수집하고 구성하는 역할은 동일하지만 데이터를 백업하고 처리하는 방식은 다릅니다. 이 기사에서는 둘 사이의 차이점과 유사점을 볼 것입니다.

Java에서 ArrayList와 HashMap의 차이점

HashMapArrayList 은 첫 번째는 해시 테이블 구현이고 두 번째는 크기를 조정할 수있는 동적 배열입니다. 해시맵  그리고  ArrayList  는 Java Collection 프레임워크의 가장 인기 있는 두 가지 클래스입니다. 둘 다 정보 저장과 구현에 사용되며 사용은 완전히 다릅니다.
  ArrayList  그리고  해시맵  그건  ArrayList  는 배열 인덱스의 구조를 기반으로 하는 반면 해시맵  는 값을 추출하기 위해 해싱을 사용하는 맵의 구조입니다.

  ArrayList  그리고  HashMap:
  • 첫 번째 차이점 ArrayList  그리고  해시맵  그건  ArrayList  list 동안 해시맵 
  • Map style="font-family:" 택배 New" , " 택배" , 미니밴;" >ArrayList  한 번에 하나의 개체를 백업합니다.  해시맵  키와 값을 저장합니다< key,value>입니다.
  • ArrayList  추가된 개체의 순서를 유지합니다. 해시맵  이 기능을 보장하지 않습니다.
  • ArrayList  중복 개체 삽입을 허용하지만  해시맵  동일한 키를 두 번 삽입하는 것은 허용되지 않지만 동일한 키 값을 허용합니다.
  • get(인덱스)의  ArrayList  O(1)이지만  해시맵  get (key) < / span> 가장 좋은 경우에는 O (1) 일 수 있고 최악의 경우 O (n) 일 수 있습니다.

Java에서 ArrayList와 HashMap의 유사점

다음은 몇 가지 공통점입니다. ArrayList  그리고  해시맵  Java에서:
  • ArrayList  그리고  해시맵  동기화되지 않습니다. 외부 동기화 없이 다중 스레드 프로그램에서는 사용해서는 안 됩니다.
  •   ArrayList  그리고  해시맵  A 를 트리거할 수 있습니다. ConcurrentModificationException 구조 변경이 한 번만 발생한 경우Iterator이 생성됩니다.
  • ArrayList  허용null해시맵  허용null 키 및 값의 경우.
  • ArrayList  중복 항목 허용  해시맵  중복 값 허용.
  • 성능 측면에서  ArrayList  get()   해시맵  또한 일정한 읽기 시간이 있습니다.
  • ArrayListHashMap 은 array.
  • Both 컬렉션을 기반으로 합니다 ArrayListHashMap반복자.