딱콩이의 봄

LinkedList와 ArrayList 비교 본문

개발/JAVA

LinkedList와 ArrayList 비교

코린이딱콩 2022. 8. 17. 16:33

리스트는 모든 프로그래밍 언어에서 가장 유용한 자료구조 중 하나입니다. LinkedList와 ArrayList는 모두 java에서 제공하는 List 인터페이스를 구현한 Collection 구현체입니다. 하지만 인터페이스만 같을 뿐 내부적으로 동작하는 방식은 다르다고 합니다!

 

ArrayList

ArrayList는 내부적으로 데이터를 배열에서 관리하며 데이터의 추가, 삭제를 위해 임시 배열을 생성해 데이터를 복사하는 방법을 사용하고 있습니다.

 

ArrayList 배열관리

대량의 자료를 추가/삭제하는 경우에는 그만큼 데이터의 복사가 많이 일어나게 되어 성능 저하를 일으킬 수 있습니다. 반면 각 데이터는 인덱스를 가지고 있기 때문에 한 번에 참조가 가능해 데이터의 검색에는 유리한 구현체입니다.

 

LinkedList

LinkedList는 내부적으로 양방향의 연결리스트로 구성되어 있어 참조하려는 원소에 따라 처음부터 정방향 또는 역순으로 조회가 가능하지만, LinkedList는 순차적 접근이기 때문에 검색의 속도가 느립니다. ArrayList와 같이 데이터의 추가, 삭제 시 불필요한 데이터의 복사가 없어 데이터의 추가, 삭제 시 유리한 반면에 데이터의 검색 시에는 처음부터 노드를 순회해야 하기 때문에 검색이 빈번하다면 ArrayList를 사용하는 것이 좋습니다.

'개발 > JAVA' 카테고리의 다른 글

JAVA 주요 특징💡💡  (0) 2022.08.26
JAVA 주요 특징💡  (0) 2022.08.26
HashMap과 HashTable의 차이  (0) 2022.08.16
Hash 기본 개념과 구조  (0) 2022.08.16
JAVA공부  (0) 2022.08.16
Comments