我有一个对象的 ArrayList。该对象包含属性 date
和 value
。所以我想在 date
上对对象进行排序,对于同一日期的所有对象,我想在 value
上对它们进行排序。我该怎么做?
最佳答案
实现自定义 Comparator
, 然后使用 Collections.sort(List, Comparator)
.它可能看起来像这样:
public class FooComparator implements Comparator<Foo> {
public int compare(Foo a, Foo b) {
int dateComparison = a.date.compareTo(b.date);
return dateComparison == 0 ? a.value.compareTo(b.value) : dateComparison;
}
}
Collections.sort(foos, new FooComparator());
关于java - 根据多个属性对 ArrayList 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4310014/