1 4 package prefuse.data.util; 5 6 import java.util.ArrayList ; 7 import java.util.Collections ; 8 import java.util.Comparator ; 9 import java.util.Iterator ; 10 11 import prefuse.data.Tuple; 12 13 17 public class SortedTupleIterator implements Iterator { 18 19 private ArrayList m_tuples; 20 private Comparator m_cmp; 21 private Iterator m_iter; 22 23 29 public SortedTupleIterator(Iterator iter, Comparator c) { 30 this(iter, 128, c); 31 } 32 33 40 public SortedTupleIterator(Iterator iter, int size, Comparator c) { 41 m_tuples = new ArrayList (size); 42 init(iter, c); 43 } 44 45 51 public void init(Iterator iter, Comparator c) { 52 m_tuples.clear(); 53 m_cmp = c; 54 55 while ( iter.hasNext() ) { 57 Tuple t = (Tuple)iter.next(); 58 m_tuples.add(t); 59 } 60 Collections.sort(m_tuples, m_cmp); 62 m_iter = m_tuples.iterator(); 64 } 65 66 69 public boolean hasNext() { 70 return m_iter.hasNext(); 71 } 72 73 76 public Object next() { 77 return m_iter.next(); 78 } 79 80 85 public void remove() { 86 throw new UnsupportedOperationException (); 87 } 88 89 } | Popular Tags |