본문 바로가기
Programming/Java

[Java] 자바 ArrayList와 LinkedList 비교

by 서현 SEOHYEON 2023. 7. 7.

자바에서 ArrayList 와 LinkedList 는 둘 다 List 인터페이스를 구현한 클래스다.

 

💚 ArrayList

- 내부적으로 배열을 사용하여 요소를 저장한다. 요소들을 연속된 메모리 공간에 저장한다.

- 요소의 삽입과 삭제가 느리다. 중간에 요소를 삽입하거나 삭제할 경우 뒤따라오는 요소들을 이동시켜야 하기 때문이다.

- 요소의 접근과 갱신이 빠르다.

- 인덱스를 기반으로 한 작업에 유리하다.

 

💚 LinkedList

- 내부적으로 이중 연결 리스트를 사용하여 요소를 저장한다.

- 요소의 삽입과 삭제가 빠르다. 요소간의 링크만 수정하면 되기 때문이다.

- 요소의 접근과 갱신이 느리다.

- 인덱스를 기반으로 한 작업은 처음부터 해당 인덱스까지 선형탐색을 수행해야 하기 때문에 비효율적이다.

 

 

💚 결론

- 빠른 접근(참조)이 필요할 때는 ArrayList를 사용하고, 삽입 및 삭제가 자주 일어날 때는 LinkedList를 사용하자

댓글