All Articles

Array, List, Map

Array와 List

같은 자료형을 가진 데이터를 하나의 변수에 담아서 관리하기 위한 자료구조

Array

  • 인덱스로 바로 접근할 수 있어서 검색이 빠르다.
  • 연속된 메모리 공간으로 이루져 있기 떄문에 빠른 성능을 보인다.
  • 크기가 고정되어 있어서 크기 변경이 불가능하다. 메모리가 낭비됨
  • 연속된 메모리 공간에 할당된다.

List

  • 삽입/삭제 시 전후의 노드의 참조 주소만 수정하면 되기 때문에 효율적이다.
  • 크기가 가변적이다.
  • 검색이 비효율적이다. 처음부터 순차적으로 검색해야 하기 때문에
  • 메모리가 연속되어있지 않고 다음 노드를 가리키는 주소값을 가지고 있다.
  • 흩어져 있는 메모리를 노드로 연결하여 쓰기 때문에 불필요한 메모리를 사용하지 않아 메모리낭비를 하지 않는다.

Map

  • Key와 Value의 쌍으로 연관지어 저장하는 객체

HashMap

  • Map 인터페이스를 구현하기 위해 해시테이블을 사용한 클래스
  • 중복을 허용하지 않고 순서를 보장하지 않는다.
  • 키와 값으로 null이 허용된다.

HashTable

  • HashMap보다 느리지만 동기화가 지원된다.
  • 키와 값으로 null이 허용되지 않는다.