Java

Java_컬렉션 자료구조_ArrayList,LinkedList

ssmm95 2024. 10. 17. 17:22

ArrayList 

: ArrayList 는 자바의 java.util 패키지에 포함되어있으며 기본적으로 import 후 사용가능

자바의 List 인터페이스를 구현한 클래스로, 배열 기반의 동적 리스트이다 

동적: 크기가 자동으로 조정된다는 의미 

데이터를 순서대로 저장하고 중복을 허용하며 인덱스를 통해 요소에 빠르게 접근 할 수 있는 구조를 가지고 있다 

그리고 제한 없이 객체 추가가 가능하다 

 

*ArrayList 에 객체를 추가하면 인덱스 0번 부터 차례대로 저장된다 

특정 인덱스의 객체를 제거하면 바로 뒤 인덱스부터 마지막 인덱스까지 모두 앞으로 1씩 당겨지다 

마찬가지로 특정 인덱스에 객체를 삽입하면 해당 인덱스부터 마지막 인덱스 까지 모두 1씩 밀려난다 

 

비교항목 ArrayList LinkedList
기반 구조 배열 기반 이중 연결 리스트 기반
접근 속도 빠름 (인덱스를 사용해 임의 접근) 느림 (순차 탐색 필요)
삽입/삭제 속도 느림 (중간에서의 삽입/삭제 시 요소 이동 필요) 빠름 (앞, 뒤 또는 중간에서도 빠르게 삽입/삭제 가능)