Array
선언할 때 크기 지정해야 하며, 데이터의 삽입 및 삭제가 비효율적이지만 Index로 빠르게 값을 찾을 수 있음
ArrayList
선언할 때 크기 지정하지 않아도 되는 데다가, Index로 빠르게 값을 찾을 수 있지만, 데이터의 삽입 및 삭제가 상대적으로 느림
LinkedList
선언할 때 크기 지정하지 않아도 되는 데다가, 데이터의 삽입 및 삭제가 상대적으로 빠르지만 검색이 상대적으로 느림
철길로 비유할 수 있다.
진주목걸이로 비유할 수 있다.
내부에 노드가 따로 저장되어 있다.
ArrayList와 반대로, 조회성능은 O-(N) 일일이 하나하나씩 찾아야 한다.
리스트 중간에 데이터를 삽입 및 삭제하는 경우 O-(N)
(왜 O-(1))이 아니냐면 중간 노드를 찾는 과정이 필요하기 때문이다.)
deck, queue이 LinkedList로 구현된다.
이미지 출처 : "ArrayList vs LinkedList in Java
", scaler.com, 2021년 9월 20일 수정, 2024년 1월 19일 접속, https://www.scaler.com/topics/arraylist-vs-linkedlist/