Source of 29.13b.java


  1: private class NeighborIterator implements Iterator<VertexInterface<T>>
  2: {
  3:    private Iterator<Edge> edges;
  4:    
  5:    private NeighborIterator()
  6:    {
  7:       edges = edgeList.getIterator();
  8:    } // end default constructor
  9:    
 10:    public boolean hasNext()
 11:    {
 12:       return edges.hasNext();
 13:    } // end hasNext
 14:    
 15:    public VertexInterface<T> next()
 16:    {
 17:       VertexInterface<T> nextNeighbor = null;
 18:       
 19:       if (edges.hasNext())
 20:       {
 21:          Edge edgeToNextNeighbor = edges.next();
 22:          nextNeighbor = edgeToNextNeighbor.getEndVertex();
 23:       }
 24:       else
 25:          throw new NoSuchElementException();
 26:       
 27:       return nextNeighbor;
 28:    } // end next
 29:    
 30:    public void remove()
 31:    {
 32:       throw new UnsupportedOperationException();
 33:    } // end remove
 34: } // end NeighborIterator
 35: // Version 4.0