java - Java 中的集合排序

标签 java arrays list sorting comparator

有人可以给出使用比较器在 Java 中对数组进行排序的示例和输出吗? 我知道我需要使用public static void sort(List list, Comparator c); ,但是比较器如何改变排序顺序呢?

最佳答案

通常您可以只实现Comparable并将List传递给sort()方法。但如果您需要使用Comparator,这里有一个完整的示例:

public static void main(String args[]) {
   List<ExampleItem> examples = new LinkedList<ExampleItem>();
   //Build List 
   Collections.sort(examples, new ExampleCompartor());//Sort with your comparator
}

//Custom Class to sort
class ExampleItem{
    private int data;
}

//Compartor
static class ExampleCompartor implements Comparator<ExampleItem>{
    @Override
    public int compare(ExampleItem ex1, ExampleItem ex2) {
        return ex1.data - ex2.data;
    }
}

关于java - Java 中的集合排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4869896/

相关文章:

java - 如何让模态对话框不阻止我的第二个顶级框架

java - 将 Eclipse 中的现有源代码包含到 Android Studio 中

javascript - React 无法从组件渲染数组

c - 如何递归地将整数数组的所有项移动到第一个单元格?

Objective C 中的 C++ 数组给出 EXC_BAD_ACCESS

r - 将自定义函数应用于 DF 列表,将另一个列表作为输入 - R

c++ - 推进列表迭代器

java - Couchbase客户端如何连接到服务器

java - 如何使用android以稳定的方式连接到没有互联网的ESP8266接入点?

java - 如何在 Java 中将 Map 转换为 List?