
net.sf.javagimmicks.collections.ListComparator Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of GimmickUtils Show documentation
Show all versions of GimmickUtils Show documentation
Utility classes, APIs and tools for Java
The newest version!
package net.sf.javagimmicks.collections;
import java.util.Comparator;
import java.util.Iterator;
import java.util.List;
import net.sf.javagimmicks.util.ComparableComparator;
@SuppressWarnings("unchecked")
public class ListComparator implements Comparator>
{
private final Comparator _elementComparator;
@SuppressWarnings("rawtypes")
public static ListComparator extends Comparable>> COMPARABLE_INSTANCE = new ListComparator(ComparableComparator.INSTANCE);
public ListComparator(Comparator elementComparator)
{
_elementComparator = elementComparator;
}
public static > ListComparator getComparableInstance()
{
return (ListComparator) COMPARABLE_INSTANCE;
}
public int compare(List list1, List list2)
{
Iterator iterator1 = list1.iterator();
Iterator iterator2 = list2.iterator();
while(iterator1.hasNext() && iterator2.hasNext())
{
E element1 = iterator1.next();
E element2 = iterator2.next();
int iCompareResult = _elementComparator.compare(element1, element2);
if(iCompareResult != 0)
{
return iCompareResult;
}
}
if(iterator1.hasNext())
{
return -1;
}
else if(iterator2.hasNext())
{
return 1;
}
else
{
return 0;
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy