2013-07-02 3 views
-1

내 프로그램에서 내 자신의 LinkedList 클래스를 작성합니다. 그리고 인스턴스, llist.구현 방법 Iterable

다음과 같이 foreach 루프에서 사용하려면 LinkedList에서 Iterable을 구현해야합니까?

for(Node node : llist) { 
    System.out.print(node.getData() + " "); 
} 

다음은 내 LinkedList 클래스입니다. 반복해서 어떻게 만들 수 있는지 알려주세요.

public class LinkedList implements Iterable { 
    private Node head = null; 
    private int length = 0; 

    public LinkedList() { 
     this.head = null; 
     this.length = 0; 
    } 

    LinkedList (Node head) { 
     this.head = head; 
     this.length = 1; 
    } 

    LinkedList (LinkedList ll) { 
     this.head = ll.getHead(); 
     this.length = ll.getLength(); 
    } 

    public void appendToTail(int d) { 
     ... 
    } 

    public void appendToTail(Node node) { 
     ... 
    } 

    public void deleteOne(int d) { 
     ... 
    } 

    public void deleteAll(int d){ 
     ... 
    } 

    public void display() { 
     ... 
    } 

    public Node getHead() { 
     return head; 
    } 
    public void setHead(Node head) { 
     this.head = head; 
    } 
    public int getLength() { 
     return length; 
    } 
    public void setLength(int length) { 
     this.length = length; 
    } 

    public boolean isEmpty() { 
     if(this.length == 0) 
      return true; 
     return false; 
    } 
} 
+2

JDK는 오픈 소스이며 소스도 함께 제공됩니다. 예를 들어 표준 LinkedList 구현을 살펴보십시오. –

+0

하지만 먼저 인터페이스 구현 방법에 대한 일반적인 주제에 대한 기본 자습서를 읽어야합니다. 적절한 버전 [** here **] (http://docs.oracle.com/javase/tutorial/java/IandI/createinterface.html)을 찾을 수 있습니다. 당신은 이것을 후회하지 않을 것입니다. –

답변

2

Iterable 인터페이스의 유일한 방법 인 iterator()을 구현하십시오.

이 방법에서는 Iterator의 인스턴스를 반환해야합니다. 일반적으로 이것은 Iterator을 구현하는 내부 클래스를 만들고 해당 내부 클래스의 인스턴스를 만들고 반환하여 iterator을 구현함으로써 수행됩니다.

+0

지정해 주시겠습니까? 감사! – Zoe

+4

내가 명시하고 싶은 것을 지정해 주시겠습니까? – rgettman

+0

iterator()를 구현해 주시겠습니까? – Zoe