1 package uk.co.jezuk.mango.algorithms; 2 3 6 public class Unique 7 { 8 static public void execute(java.util.Iterator iterator, java.util.Comparator comparator) 9 { 10 if(!iterator.hasNext()) 11 return; 12 13 Object prev = iterator.next(); 14 while(iterator.hasNext()) 15 { 16 Object next = iterator.next(); 17 if(match(comparator, prev, next)) 18 iterator.remove(); 19 else 20 prev = next; 21 } } 24 static public boolean match(java.util.Comparator c, Object o1, Object o2) 25 { 26 if(c != null) 27 return (c.compare(o1, o2) == 0); 28 29 if((o1 == null) && (o2 == null)) 30 return true; 31 32 return o1.equals(o2); 33 } 35 private Unique() { } 36 } | Popular Tags |