1 33 package net.sf.jga.util; 34 35 import java.io.Serializable ; 36 import java.util.Comparator ; 37 import java.util.Iterator ; 38 import net.sf.jga.fn.comparison.Equality; 39 40 45 46 public class IteratorComparator<T> implements Comparator <Iterator <? extends T>>, Serializable { 47 48 static final long serialVersionUID = 1110218880817939318L; 49 50 private Comparator <? super T> _comp; 52 53 57 public IteratorComparator(Comparator <? super T> comp) { 58 _comp = comp; 59 } 60 61 77 public int compare(Iterator <? extends T> x, Iterator <? extends T> y) 78 { 79 while (true) { 80 if (x.hasNext()) { 81 if (y.hasNext()) { 82 int i = _comp.compare(x.next(),y.next()); 83 if( i != 0) { 84 return i; 85 } 86 } 87 else 88 return 1; 89 } 90 else 91 return y.hasNext() ? -1 : 0; 92 } 93 } 94 } 95 | Popular Tags |