java - 根据多个属性对 ArrayList 进行排序

标签 java sorting

我有一个对象的 ArrayList。该对象包含属性 datevalue。所以我想在 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/

相关文章:

java - 如何回答 keytool 提出的 Java keystore 问题?

linux - 在 Linux 中对两个文件进行排序并找到每个文件唯一的行

Python 合并重复元素

java - Jersey ContextResolver GetContext() 仅调用一次

python - 有没有办法枚举共享相同索引的列表或字典?

c# - 根据内部列表使用 .notation 对对象列表进行排序

java - 对 List<Map<String, String>> 进行排序

java - 如何从服务调用 AsyncTask 或更好的后台更新方式

java - EventBus,是否可以在onCreate中获取粘性事件?

java - 列表和方法之间的效率