Android:ArrayList按类型排序

时间:2015-07-20 09:37:51

标签: java android list sorting

我有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) ;
     }
});

1 个答案:

答案 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);
     }
});

或者可能反转item1item2如果它的顺序相反。