集合操作

简介: 常见集合操作

一、集合元素排序:

(1)集合条件排序(java8流):stream().sorted()
1

// 状态排序orderListDTOS.stream().sorted(Comparator.comparing(OrderListDTO::getOrderStatusStr)
// 评价时间 为null靠前          .thenComparing(OrderListDTO::getEvaluateTime, Comparator.nullsFirst(String::compareTo).reversed())
// 下单时间 倒序          .thenComparing(OrderListDTO::getOrderTime, Comparator.nullsFirst(String::compareTo)).reversed())
// 赋值给新集合 进行保存          .collect(Collectors.toList()).forEach(order-> {
OrderListDTOorderListDTO=newOrderListDTO();
BeanUtils.copyProperties(order, orderListDTO);
orders.add(orderListDTO);
        });


参数解释:

Comparator:比较器。

Comparator.comparing(OrderListDTO::getOrderStatusStr):按OrderListDTO对象中的orderStatusStr字段正序排序。

.thenComparing(OrderListDTO::getEvaluateTime, Comparator.nullsFirst(String::compareTo)).reversed()

第二个排序条件:evaluateTime,为null时排序靠后;

Comparator.nullsFirst(String::compareTo).reversed():可以达到为null的靠前排序效果;

.reversed():倒序。

*另外资料参考:JAVA8之Comparator特殊排序以及ComparatorUtils介绍

(2)Arrays.sort、 Collections.sort排序(相对于Stream流较慢)

List<Object>list=newArrayList<Object>();
// Arrays.sortArrays.sort(list, newComparator<Integer>() {
@Overridepublicintcompare(Integers1, Integers2) {
returns1-s2;// 排序说明,如果是S1-S2,就是升序排列。如果是S2-S1,就是降序排列。            }
        });
println(Arrays.toString(list));
// Collections.sortCollections.sort(list, newComparator<People>() {
@Overridepublicintcompare(Peopleo1, Peopleo2) {
if (o1.age>o2.age) {// 按照年龄大小排序,年龄大则排在后边,返回正数return1;
                } else {
return-1;
                }
            }
        });
// Collections.sort 简化写法:Collections.sort(list,(a,b)->(a.getId()-b.getId()));
目录
相关文章
|
4月前
|
存储 安全 算法
Java泛型与集合:类型安全的集合操作实践
Java泛型与集合:类型安全的集合操作实践
|
4月前
|
存储 人机交互 C++
C++实现简易的集合运算
C++实现简易的集合运算
|
10月前
|
C#
c#集合去重&排序常用方法
list和数组转Hashset跟SortedSet进行排序和去重,以及当Hashset和SortedSet存放的是类时如何进行自定义的排序和去重
80 2
|
Java
Java 集合操作之交集、并集和差集
在 Java 编程中,经常需要对集合进行一些操作,比如取两个集合的交集、并集和差集。本文将介绍如何使用 Java 集合框架中的方法来实现这些集合操作,并通过源码解析来深入了解其实现原理。
354 0
Java 集合操作之交集、并集和差集
|
存储 Java API
2.1 Lambda表达式在集合操作中的应用:使用Lambda表达式遍历集合
2.1 Lambda表达式在集合操作中的应用:使用Lambda表达式遍历集合
149 0
|
存储 Java
2.4 Lambda表达式在集合操作中的应用:使用Lambda表达式进行排序
2.4 Lambda表达式在集合操作中的应用:使用Lambda表达式进行排序
67 0
|
Java
一篇文章教你学会:对Java集合进行并集,交集,差集运算
一篇文章教你学会:对Java集合进行并集,交集,差集运算
360 0
|
存储 Java
2.2 Lambda表达式在集合操作中的应用:过滤和筛选集合元素
2.2 Lambda表达式在集合操作中的应用:过滤和筛选集合元素
625 0
|
存储 Java 索引
Java开发——22.Collection单列集合+迭代器+增强for循环
集合,是Java提供的一种容器,可以用来存储多个数据,并且可以存储任意类型
Java开发——22.Collection单列集合+迭代器+增强for循环
|
存储 测试技术 C#
C#编程流程控制与集合类型(一)
C#编程流程控制与集合类型
C#编程流程控制与集合类型(一)