[JAVA] List Collection(ArrayList / LinkedList / Vector)

2021. 6. 26. 17:08·JAVA
728x90

List Collection

https://programmersought.com/article/1869761384/ 참고

  • 데이터 중복 입력이 가능하며, 순차적이고 다량의 데이터를 입력할 때 사용
  • ArrayList / LinkedList / Vector로 구성됨

ArrayList

  • 내부적으로 인덱스로 관리되는 배열로 이루어진 리스트
  • 내부적으로 기본데이터 저장사이즈가 10으로 정의되어 있음
  • 데이터가 10이상 저장되면, 동적으로 사이즈 1.5배정도 늘어남
  • 인덱스를 통해 조회하기 때문에 조회시 효율적임
  • 특정 인덱스를 삭제시 한칸씩 앞으로 전체이동하고 추가시 한칸씩 뒤로 전체이동하기 때문에 추가 삭제시 매우 비효율적임
  • 동기화되어 있지 않아서, 동기화 처리시 동기화 선언을 해줘야함 

LinkedList

  • 노드가 데이터와 포인트를 가지고 한줄로 연결된 리스트
  • 노드 간에 연결로 이루어짐 (현재노드에서 다음노드의 위치 정보를 가지고 있음)
  • 내부적으로 인덱스를 가지고 있지 않음, 탐색시 순차접근만 가능하여 데이터 조회시 비효율적임
  • 삽입과 삭제시 해당 노드의 위치정보만 바꿔주면 되기 때문에 효율적임 

Vector

  • ArrayList와 내부구조는 동일함 
  • 내부적으로 메소드들이 동기화 처리가 되어있어서, 멀티쓰레드 환경에서 쓰레드 세이프함 
  • 동기화 처리가 되어 있어서 속도적인 부분은 ArrayList보다 느림
저작자표시

'JAVA' 카테고리의 다른 글

[JAVA] Stack / Deque  (0) 2021.07.16
[JAVA] e.printStackTrace() 사용하지 말아야하는 이유  (3) 2021.07.04
[JAVA] String / StringBuilder / StringBuffer  (0) 2021.06.20
[JAVA] HashMap 원리  (0) 2021.06.13
[JAVA] 일급컬렉션  (0) 2021.06.10
'JAVA' 카테고리의 다른 글
  • [JAVA] Stack / Deque
  • [JAVA] e.printStackTrace() 사용하지 말아야하는 이유
  • [JAVA] String / StringBuilder / StringBuffer
  • [JAVA] HashMap 원리
집한구석
집한구석
  • 집한구석
    tgyun615.info
  • 전체
    오늘
    어제
    • 카테고리 (183)
      • JAVA (38)
      • SPRING (15)
      • KOTLIN (23)
      • NETTY (1)
      • DEVOPS (3)
      • DOCKER (7)
      • KUBERNETES (2)
      • JAVASCRIPT (1)
      • SPLUNK (3)
      • ELK (7)
      • KAFKA (2)
      • GO (4)
      • ALGORITHM & DATA STRUCTURE (9)
      • IDE (5)
      • OS (16)
      • NETWORK (14)
      • GCP (2)
      • AWS (2)
      • DATABASE (10)
      • CLEANCODE (7)
      • OTHER (12)
  • 최근 글

  • 태그

    클린코드
    이펙티브코틀린
    java
    프로그래머스
    Elk
    Kafka
    이펙티브 코틀린
    SQL
    AWS
    Spring
    JPA
    go
    ElasticSearch
    splunk
    코틀린
    자바
    IntelliJ
    docker
    엘라스틱서치
    cleancode
  • 링크

    • github
    • linkedin
    • resume
  • hELLO· Designed By 정상우. v4.10.3
집한구석
[JAVA] List Collection(ArrayList / LinkedList / Vector)
상단으로

티스토리툴바