1 package it.unimi.dsi.fastutil; 2 3 /* 4 * fastutil: Fast & compact type-specific collections for Java 5 * 6 * Copyright (C) 2002, 2003, 2004, 2005, 2006 Sebastiano Vigna 7 * 8 * This library is free software; you can redistribute it and/or 9 * modify it under the terms of the GNU Lesser General Public 10 * License as published by the Free Software Foundation; either 11 * version 2.1 of the License, or (at your option) any later version. 12 * 13 * This library is distributed in the hope that it will be useful, 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 * Lesser General Public License for more details. 17 * 18 * You should have received a copy of the GNU Lesser General Public 19 * License along with this library; if not, write to the Free Software 20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 21 * 22 */ 23 24 import java.util.Iterator; 25 import java.util.ListIterator; 26 27 /** A bidirectional {@link Iterator}. 28 * 29 * <P>This kind of iterator is essentially a {@link ListIterator} that 30 * does not support {@link ListIterator#previousIndex()} and {@link 31 * ListIterator#nextIndex()}. It is useful for those maps that can easily 32 * provide bidirectional iteration, but provide no index. 33 * 34 * <P>Note that iterators returned by <code>fastutil</code> classes are more 35 * specific, and support skipping. This class serves the purpose of organising 36 * in a cleaner way the relationships between various iterators. 37 * 38 * @see Iterator 39 * @see ListIterator 40 */ 41 42 public interface BidirectionalIterator<K> extends Iterator<K> { 43 44 /** Returns the previous element from the collection. 45 * 46 * @return the previous element from the collection. 47 * @see java.util.ListIterator#previous() 48 */ 49 50 K previous(); 51 52 /** Returns whether there is a previous element. 53 * 54 * @return whether there is a previous element. 55 * @see java.util.ListIterator#hasPrevious() 56 */ 57 58 boolean hasPrevious(); 59 } 60