2012-12-20 2 views
-3

어디에서 링크 된 목록의 데이터가 저장됩니까? 배열을 사용하고 있습니까? 또는 어떻게 작동합니까?linkedList가 배열 상에 있습니까?

노드와 함께 작동하지만 실제로 노드를 저장하는 방법은 알고 있습니까?

+5

왜 소스 코드를 살펴보고 직접 보지 않습니까? 배열이 없습니다. –

+2

OpenJDK의 경우 : http://www.docjar.com/html/api/java/util/LinkedList.java.html 노드별로 빌드됩니다. – nhahtdh

+2

'Node' 클래스의 인스턴스에서. 근원을 보지 않으시겠습니까? – khachik

답변

3

하나의 Node은 그 순서의 다음 Node에 링크 (즉, 포함)한다. LinkedList 클래스는 실제로 목록의 첫 번째 Node 만 포함합니다. 예를 들어

:

LinkedListAABB는 멤버 변수 C 포함 된 멤버 변수를 포함하는 멤버 변수를 포함 A는 C는 다음과 같다, A, B 목록 연계. C에는 null 개의 멤버 변수가 있습니다.

A ->B ->C ->null

새 노드를 삽입해야, 그것은 될 것입니다 ...

A ->B ->C ->D ->null

0

LinkedList는 데이터를 저장하기 위해 어레이를 사용하지 않습니다. 그것은

class Node<E> { 
    E item; 
    Node<E> next; 
    Node<E> prev; 
.... 
0

LinkedList의 다음 및 이전 객체에 현재 객체와 참조가 개체의 항목을 포함하고 그것은 노드에 데이터를 저장하는 이중 연결리스트입니다. 그런 다음이 다음 및 이전 객체에는 현재 객체 및 다음 객체 및 이전 객체에 대한 참조 등이있는 객체 Entry가 포함됩니다. 결국 서로 링크 된 사물 체인이 있습니다.

private static class Entry<E> { 
    E element; 
    Entry<E> next; 
    Entry<E> previous; 
... 

예 소자 전류 목적 :

이 LinkedList의 내부에서 클래스 항목이다.

내가 당신을 도왔 으면합니다.

관련 문제