blob: c119139ecfafa1f5c47440feb21c6f072dee07c6 [file] [log] [blame]
package org.unicode.cldr.util;
import java.util.Comparator;
import java.util.Iterator;
import java.util.Set;
public class SetComparator<T extends Comparable<T>> implements Comparator<Set<T>> {
public int compare(Set<T> o1, Set<T> o2) {
int size1 = o1.size();
int size2 = o2.size();
int diff = size1 - size2;
if (diff != 0) {
return diff;
}
Iterator<T> i1 = o1.iterator();
Iterator<T> i2 = o2.iterator();
while (i1.hasNext() && i2.hasNext()) {
T item1 = i1.next();
T item2 = i2.next();
diff = item1.compareTo(item2);
if (diff != 0) {
return diff;
}
}
// we know that they are the same length at this point, so if we
// make it through the gauntlet, we're done
return 0;
}
}