ArrayList:
- 데이터를 배열로 관리
- 데이터의 추가, 삭제를 위해 임시 배열을 생성하고 데이터를 복사하는 방식을 사용
- 데이터는 인덱스를 가지고 있어 한 번에 참조가 가능하므로 검색에 유리
- 대량의 자료를 추가 또는 삭제하는 경우에는 데이터의 복사가 많이 일어나 성능 저하를 일으킬 수 있다
LinkedList:
- 데이터는 각각의 노드로 구성되며, 노드는 데이터와 다음 노드를 참조하는 포인터로 이루어져 있다
- 데이터의 추가, 삭제 시에는 이전 노드와 다음 노드의 참조만 변경하면 되므로 ArrayList에 비해 빠름
- 데이터의 검색 시에는 처음부터 노드를 순회해야 하므로 ArrayList에 비해 성능상 불리
▼
데이터의 추가, 삭제가 빈번하게 발생하는 경우에는 LinkedList를 사용하는 것이 유리
데이터의 검색이 주로 이루어지는 경우에는 ArrayList를 사용하는 것이 유리
데이터의 동기화가 필요한 경우에는 Collections 클래스를 사용하여 동기화된 List를 생성할 수 있다
'의문점 공부하기 > 📌 Java' 카테고리의 다른 글
📌 ArrayList와 Vector의 차이점은!? (1) | 2023.06.30 |
---|---|
📌 Array에서 List로 전환하려면 어떻게 해야할까? (0) | 2023.06.29 |
📌 HashSet 구현 원칙은 무엇일까? (0) | 2023.06.27 |
📌 HashMap 구현 원칙은 무엇일까? (0) | 2023.06.26 |
📌 그렇다면 각각 어떤 상황에서 HashMap과 TreeMap을 선택하는가?! (0) | 2023.06.23 |