我有ArrayList
如果我想对
firstLetter
上的itemList
进行排序,代码应该是
Collections.sort(itemList, new Comparator<Item>() {
@Override
public int compare(Item o1, Item o2) {
char order1 = o1.getFirstLetter();
char order2 = o2.getFirstLetter();
return Character.compare(order1,order2);
}
});
但是,在相同的排序操作中,我希望
itemList
也根据第二个字母
进行排序。因此,与first信
具有相同值的项
根据它们的值在其中排序第二个字母
。上面的代码应该如何修改?
你可以试试这个。
Collections.sort(itemList, new Comparator<Item>() {
@Override
public int compare(Item o1, Item o2) {
char order1 = o1.getFirstLetter();
char order2 = o2.getFirstLetter();
char order3 = o1.getSecondLetter();
char order4 = o2.getSecondLetter();
String first = String.valueOf(order1)+String.valueOf(order3)
String second= String.valueOf(order2)+String.valueOf(order4)
return first.compareTo(second);
}
});
嵌入式解决方案应如下所示:
Collections.sort(itemList, new Comparator<Item>() {
@Override
public int compare(Item o1, Item o2) {
char order1 = o1.getFirstLetter();
char order2 = o2.getFirstLetter();
char order3 = o1.getSecondLetter();
char order4 = o2.getSecondLetter();
int compare = Character.compare(order1,order2);
if(compare == 0){
return Character.compare(order3,order4);
} else {
return compare;
}
}
});
问题内容: 我有一个包含Quote对象的数组列表。我希望能够按名称,更改和更改百分比的字母顺序进行排序。如何排序我的数组列表? 问题答案: 创建一个合适的对象,它将根据你所需的条件比较两个项目。然后在你的上使用 。 如果以后要按其他条件排序,请使用不同的再次调用。
问题内容: 我在Java中有一个双打列表,我想按降序对ArrayList进行排序。 输入如下: 输出应该是这样的 问题答案: 那会做你想要的。请记住要导入!
问题内容: 我有一堂水果课。我正在创建此类的列表,并将每个水果添加到列表中。我想根据水果名称的顺序对该列表进行排序。 我正在使用for循环创建它的列表 我需要使用列表中每个对象的水果名称对该arrayList进行排序 问题答案: 使用这样的: 现在,你的水果清单将基于进行排序。
基本上可以通过以下方式进行排序: collections.sort(列表); 这里的问题是,一旦我添加了traders arraylist中的所有值,我需要排序并显示为输出。我尝试使用collections.sort(),但它显示编译器异常。
我有一个Arraylist,我想按两个属性对ArrayList进行排序1。按名称(字母顺序)2。按自定义键 更多解释-: '
问题内容: 我有一个Java对象列表,希望根据多个字段进行排序。 是否可以使用或接口根据多个字段对列表进行排序?我看到的所有示例仅根据一个领域进行排序。换句话说,可以按“校园”或“教师”或“建筑”进行排序。我想按“校园”,“教师”,“建筑”(因为它在SQL中存在)进行排序 问题答案: 您的比较器如下所示: 基本上,只要到目前为止已比较的属性相等(),它就会继续比较类的每个连续属性。