我有List<MyModel>
我需要在其中一个字段(类型)中对数组进行排序,但不是按字母顺序排序 -
按以下顺序 - ["B, C, A"]
如何更改代码以便第一种类型到底?
Collections.sort(items, new Comparator<MyModel>() {
@Override
public int compare(MyModel item1, MyModel item2) {
return item2.type.compareToIgnoreCase(item1.type) ;
}
});
答案 0 :(得分:3)
Collections.sort(items, new Comparator<MyModel>() {
private List<String> order = Arrays.asList("B", "C", "A");
@Override
public int compare(MyModel item1, MyModel item2) {
return order.indexOf(item1.type) - order.indexOf(item2.type);
}
});
或者可能反转item1
,item2
如果它的顺序相反。