集合List进行排序-Java

简介: 集合List进行排序-Java

创建一个List集合存储内容,对于一个List相当于一个变长数组,是有序可索引的,如何进行元素的排序呢,存储的是对象又怎么进行排序呢。

  • 使用Collections的API——sort
  1. 对集合List的值元素进行排序:
//将集合中元素按默认规则排序
        List<Integer> list=new ArrayList<>();
        Collections.addAll(list,11,16,14,16,18,35);
        Collections.sort(list);
        System.out.println(list);
//将集合中元素按自定义规则排序
        Collections.sort(list,new Comparator<Integer>(){
            @Override
            public int compare(Integer o1, Integer o2) {
                return o1-o2;
            }
        } );
        System.out.println(list);
        Collections.sort(list,(o1, o2) -> o2-o1);
        System.out.println(list);
  1. 对集合List的对象进行排序:
  • 对类实现Comparable<?>接口,就可以直接使用Collections.sort()方法了。
class a implements Comparable<a>{
@Override
    public int compareTo(a o) {
        return this.weight-o.weight;//参考排序内容
    }
}
  • sort方法的比较器对象Comparator;

同1中自定义规则排序。

Note: TreeSet对比较的返回值为0会删除相同的,而List不会(List可重复)。

end.如何打乱集合顺序呢?

Collections.shuffle()

相关文章
|
1月前
|
Java
【Java】如果一个集合中类型是String如何使用拉姆达表达式 进行Bigdecimal类型计算?
【Java】如果一个集合中类型是String如何使用拉姆达表达式 进行Bigdecimal类型计算?
25 0
|
1月前
|
算法 Java 数据处理
Java集合框架的优缺点
Java集合框架的优缺点
|
1月前
|
网络协议 算法 Java
|
28天前
|
Java
java8中List对象转另一个List对象
java8中List对象转另一个List对象
37 0
|
2天前
|
存储 Java C++
Java集合篇之深度解析Queue,单端队列、双端队列、优先级队列、阻塞队列
Java集合篇之深度解析Queue,单端队列、双端队列、优先级队列、阻塞队列
16 0
|
14天前
|
存储 Java 编译器
Java集合丛林:深入了解集合框架的秘密
Java集合丛林:深入了解集合框架的秘密
16 0
Java集合丛林:深入了解集合框架的秘密
|
17天前
|
Java BI
Java 获取周,月,年日期集合(统计图)
Java 获取周,月,年日期集合(统计图)
Java 获取周,月,年日期集合(统计图)
|
25天前
|
Java
Java使用List去重的四中方式
Java使用List去重的四中方式
19 6
|
28天前
|
存储 安全 Java
【Java技术专题】「Guava开发指南」手把手教你如何进行使用Guava工具箱进行开发系统实战指南(不可变集合篇)
【Java技术专题】「Guava开发指南」手把手教你如何进行使用Guava工具箱进行开发系统实战指南(不可变集合篇)
30 1
|
29天前
Cause: java.sql.SQLIntegrityConstraintViolationException: Column ‘id‘ in field list is ambiguous
Cause: java.sql.SQLIntegrityConstraintViolationException: Column ‘id‘ in field list is ambiguous
18 0