我的项目中有一些stringarray,它们需要按字母顺序排序。但是,由于前一个人很大程度上依赖于微调器ID,我无法做到这一点,所以每个值的id都会发生变化。
意思是如果我的列表现在看起来像这样(后面是id):
- cat(0)
- dog(1)
- book(2)
我希望它改为:
- book(2)
- cat(0)
- dog(1)
(为了说清楚,()'s
中的数字是id,不应该在值中)
这有可能吗?
的问候,
Riekelt
答案 0 :(得分:0)
您可以使用
ArrayList<String> list = new ArrayList<String>();
list.add("cat(0)");
list.add("book(1)");
...................
Collection.sort(list);
<强>更新强>
class StringItem {
String text;
int id;
}
ArrayList<StringItem> list = new ArrayList();
//Add the items and then perform sort as:
Collection.sort(list, new ItemComparator());
private class ItemComparator implements Comparator<StringItem> {
@Override
public int compare(StringItem i1, StringItem i2) {
return i2.text.compareTo(i1.text);
}
}