我正在按值比较对象列表。但是该值应该是我的用户定义值。我有一个列表{0,qwerty} {2,abc},{4,xyz},{0,temp}。我想按第一个值排序,但我希望所有对象的末尾都为零。意味着我想对除零以外的值进行排序..我该怎么做?
Comparator<YourSortableEntity> myCustomComparator =
new Comparator<YourSortableEntity>() {
@Override
public int compare(YourSortableEntity o1, YourSortableEntity o2) {
int compareVal = o1.getRank() - o2.getRank();
if (o1.getRank() == 0)
return compareVal;
return compareVal;
}
};
最佳答案
public int compare(YourSortableEntity o1, YourSortableEntity o2) {
if(o1.getRank() == o2.getRank()) {
//futrther logic
} else if(o1.getRank() == 0) {
return 1;
} else if(o2.getRank() == 0) {
return -1;
} else return o1.getRank() - o2.getRank();
}
关于java - 使用比较器排序(特定值除外),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57924957/