Java Reference
In-Depth Information
Display 15.25 A Doubly Linked List with an Iterator (part 1 of 3)
1 import java.util.NoSuchElementException;
2 public class DoublyLinkedList
3 {
4 private class TwoWayNode
5 {
6
private String item;
7
private TwoWayNode previous;
8
private TwoWayNode next;
9 public TwoWayNode()
10 {
11 item = null ;
12 next = null ;
13 previous = null ;
14 }
15 public TwoWayNode(String newItem, TwoWayNode previousNode,
TwoWayNode nextNode)
16 {
17 item = newItem;
18 next = nextNode;
19 previous = previousNode;
20 }
21 } //End of TwoWayNode inner class
22 public class DoublyLinkedIterator
23 {
24
// We do not need a previous node when using a doubly linked
// list
25
private TwoWayNode position = null;
26 public DoublyLinkedIterator( )
27 {
28 position = head;
29 }
30 public void restart( )
31 {
32 position = head;
33 }
34 public String next( )
35 {
36 if (!hasNext( ))
37 throw new IllegalStateException( );
38 String toReturn = position.item;
39 position = position.next;
40
return toReturn;
41 }
(continued)
 
Search WWH ::




Custom Search