2023. 6. 16. 19:27ㆍJava/Basic Java

LinkedList는 자바 컬렉션 프레임워크에서 제공되는 데이터 구조 중 하나로, 연결 리스트(Linked List)를 구현한 클래스입니다. 연결 리스트는 데이터 요소들을 노드(Node)라 불리는 객체들로 구성하며, 각 노드는 자신의 데이터와 다음 노드를 가리키는 참조(주소)를 가지고 있습니다.
LinkedList는 다음과 같은 특징을 가지고 있습니다:
삽입과 삭제가 빠름: 연결 리스트는 각 노드가 이전 노드와 다음 노드를 직접 참조하고 있기 때문에, 삽입과 삭제 연산이 빠르게 이루어집니다. 요소를 리스트의 맨 앞이나 맨 뒤에 추가하거나 삭제하는 경우에도 노드들을 이동시키는 작업이 필요하지 않습니다.
임의 접근이 느림: 연결 리스트는 각 노드를 순차적으로 따라가야만 원하는 위치에 접근할 수 있기 때문에, 임의 접근(인덱스로 요소에 접근)은 선형 시간이 소요됩니다. 따라서, LinkedList는 특정 인덱스를 기반으로 빈번한 요소 접근이 필요한 경우보다는 순차적인 접근이 많은 상황에 적합합니다.
메모리 공간 소비: LinkedList는 각 노드가 데이터와 다음 노드를 가리키는 참조를 저장해야 하므로, 추가적인 메모리 공간이 필요합니다. 또한, 각 노드마다 참조를 저장하기 위한 메모리 오버헤드가 있습니다.
LinkedList는 주로 요소의 삽입과 삭제가 빈번한 상황에서 사용됩니다. 예를 들어, 큐(Queue)나 스택(Stack) 등의 데이터 구조를 구현할 때 LinkedList가 활용될 수 있습니다. 또한, 리스트의 맨 앞이나 맨 뒤에서의 삽입과 삭제가 빈번한 경우에도 성능적으로 유리할 수 있습니다.
'Java > Basic Java' 카테고리의 다른 글
| [Java] Java 설치하기 (JDK17) (1) | 2024.05.19 |
|---|---|
| [Java] 컬렉션 개념(HashMap) (0) | 2023.06.15 |
| [Java] 컬렉션 개념(큐) (0) | 2023.06.13 |
| [Java] 컬렉션 개념(스택) (0) | 2023.06.12 |
| [Java] GUI 메소드 구현 (0) | 2023.03.09 |