如何自定义Collections.sort规则
时间: 2024-02-05 10:06:34 浏览: 103
Java Collections.sort()实现List排序的默认方法和自定义方法
要自定义Collections.sort的规则,需要实现Comparator接口,并重写compare方法。compare方法的返回值为int类型,表示两个对象的大小关系。如果返回正数,则表示第一个对象大于第二个对象;如果返回负数,则表示第一个对象小于第二个对象;如果返回0,则表示两个对象相等。
下面是一个示例代码,演示如何按照字符串长度进行排序:
```
List<String> list = new ArrayList<>();
list.add("aaa");
list.add("bb");
list.add("c");
Collections.sort(list, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return o1.length() - o2.length();
}
});
System.out.println(list); // 输出 [c, bb, aaa]
```
在上面的代码中,我们创建了一个字符串列表,并使用Collections.sort方法对其进行排序。在排序时,我们传入了一个实现了Comparator接口的匿名内部类,该类重写了compare方法,按照字符串长度进行排序。
阅读全文