<aside>
😊 arraylist와 linkedlist를 비교하여 정리해놓은 페이지입니다 :)
</aside>
ArrayList vs LinkedList
- 순차적으로 추가 / 삭제하는 경우에는 ArrayList 가 LinkedList 빠름
- 단순히 저장하는 시간만을 비교할수록 하기 위해서 ArrayList에서 배열 재배치가 일어나는 상황은 제외함
- 순차적으로 삭제한다는 것은 마지막 데이터부터 삭제할 경우 각 요소들의 재배치가 필요하지 않기 때문에 상당히 빠름
- 중간 데이터를 추가 / 삭제하는 경우에는 LinkedList가 ArrayList보다 빠름
- 중간 요소를 추가 또는 삭제하는 겨우, LinkedList는 각 요소간의 연결만 변경해주면 되기 때문에 처리 속도가 상당히 빠름
- ArrayList는 각 요소들을 재배치하여 추가할 공간을 확보하거나 빈 공간을 채워야하기 때문에 처리 속도가 느림
컬렉션 |
읽기 (접근시간) |
추가 / 삭제 |
비고 |
ArrayList |
빠르다 |
느리다 |
순차적인 추가삭제는 더 빠름비효율적인 메모리 사용 |
LinkedList |
느리다 |
빠르다 |
데이터가 많을 수록 접근성이 떨어짐 |
💡정리
다루고자 하는 데이터의 개수가 변하지 않는 경우라면, ArrayList가 최상의 선택이겠지만
데이터 개수의 변경이 잦다면 LinkedList를 사용하는 것이 더 나은 선택이 될 것입니다