java_데이터 저장 자료구조

황호준·2023년 5월 28일

CS

목록 보기
13/29

List

  • 내부구현이 배열로 되어있고, 특정 동일 공간에 뭉텅이로 저장되어 저장속도가 빠르며, 순차적으로 데이터를 저장함 , 중복데이터 또한 저장 가능

ArrayList vs LinkedList

  • ArrayList는 객체 내부에 있는 배열에 데이터를 저장하여 상당히 빠르고 크기를 맘대로 조절할 수 있는 배열이며, 순차적인 접근에 강점이 있다.
  • LinkedList는 양방향 포인터 구조로 데이터의 삽입,삭제가 빈번할 경우 빠른 성능을 보장한다. 스택, 큐 등을 만들기 위한 용도로 쓰이며 Iterlator 사용한다.

Map

  • Map에 아이템을 저장할때마다, 빈공간을 찾아 저장하여 데이터 저장속도가 비교적 느리며,Key왜 value값을 이용하여 저장한다.

HashTable vs HashMap vs LinkedHashMap vs treeMap

  • HashTable : 동기화를 지원하는 맵, Key와 value로 null 허용되지 않는다.
  • HashMap :순서를 보장하지 않는 맵, Key와 value로 null 허용된다.
  • LinkedHashMap : 들어간 순서대로 저장되는 맵
  • treeMap : 이진 검색 tree 구조의 맵, 저장시 key기준으로 오름차순 저장된다.

HashMap vs ConcurrentHashMap

1) Thread 안정성: Hashmap<ConcurrentHashMap
2) Null : Hash Map O / ConcurrentHashMap X
3) Iterators : hashmap -> 속도가 빠름 ConcurrentHashMap -> 예외 발생하지 않음
4) HashMap 단일 쓰레드 / ConcurrentHashMap 멀티 쓰레드

profile
기록 블로그

0개의 댓글