자바 링크드리스트
자바 링크드리스트
ArrayList
이전 장에서 클래스 에 대해 배웠습니다 . 클래스는 다음 LinkedList
과 거의 동일합니다
ArrayList
.
예시
// Import the LinkedList class
import java.util.LinkedList;
public class Main {
public static void main(String[] args) {
LinkedList<String> cars = new LinkedList<String>();
cars.add("Volvo");
cars.add("BMW");
cars.add("Ford");
cars.add("Mazda");
System.out.println(cars);
}
}
ArrayList 대 LinkedList
LinkedList
클래스는 처럼 같은 유형의 많은 개체를 포함할 수 있는 컬렉션 입니다 ArrayList
.
클래스 는 모두 인터페이스를 구현하기 때문에 클래스 LinkedList
와 동일한 메소드를 모두 갖습니다 . 즉, 동일한 방식으로 항목을 추가하고, 항목을 변경하고, 항목을 제거하고, 목록을 지울 수 있습니다.ArrayList
List
그러나 ArrayList
클래스와 LinkedList
클래스는 같은 방식으로 사용할 수 있지만 매우 다르게 빌드됩니다.
ArrayList의 작동 방식
ArrayList
클래스 내부에는 일반 배열이 있습니다 . 요소가 추가되면 배열에 배치됩니다. 어레이가 충분히 크지 않으면 이전 어레이를 대체하기 위해 더 큰 새 어레이가 생성되고 이전 어레이가 제거됩니다.
LinkedList의 작동 방식
LinkedList
항목을 "컨테이너"에 저장합니다 . 목록에는 첫 번째 컨테이너에 대한 링크가 있고 각 컨테이너에는 목록의 다음 컨테이너에 대한 링크가 있습니다. 목록에 요소를 추가하려면 요소가 새 컨테이너에 배치되고 해당 컨테이너는 목록의 다른 컨테이너 중 하나에 연결됩니다.
사용 시기
ArrayList
데이터를 저장 및 액세스하고 데이터 LinkedList
를 조작하는 데 사용합니다 .
LinkedList 메서드
많은 경우 ArrayList
목록의 임의 항목에 액세스해야 하는 것이 일반적이므로 더 효율적이지만 LinkedList
특정 작업을 보다 효율적으로 수행할 수 있는 몇 가지 방법을 제공합니다.
Method | Description | Try it |
---|---|---|
addFirst() | Adds an item to the beginning of the list. | |
addLast() | Add an item to the end of the list | |
removeFirst() | Remove an item from the beginning of the list. | |
removeLast() | Remove an item from the end of the list | |
getFirst() | Get the item at the beginning of the list | |
getLast() | Get the item at the end of the list |