常用的lambda表达式

2020-07-21  本文已影响0人  初心myp

1. String集合拼接字符串:

storeList.stream().collect(Collectors.joining(","));

2. 对象集合根据某个属性获取一个Set集合:

List<Org> orgList = new ArrayList<>();
Set<String> orgList = orgList.stream()
                      .map(e -> String.valueOf(e.getId()))
                      .collect(Collectors.toSet());

Set<String> orgList = orgList.stream()
                      .map(Org::getId()))
                      .collect(Collectors.toSet());

3. 对象集合根据某个属性过滤满足条件的数据:

List<StoreVO> storeList = new ArrayList<>();            
List<StoreVO> storeVOList = storeList.stream()
                            .filter(e -> e.getDelFlg() != 1)
                            .collect(Collectors.toList());

4. 对象集合根据某个字段分组:

Map<String, List<User>> groupBySex = userList.stream()
                                    .collect(Collectors.groupingBy(User::getSex));

5. 对象集合获取某个字段的最小值:

Date minEntryDate = userList.stream()
                    .map(User::getEntryDate)
                    .min(Date::compareTo)
                    .get();

6. 对象集合获取某个字段的最大值:

Date maxEntryDate = userList.stream()
                    .map(User::getEntryDate)
                    .max(Date::compareTo)
                    .get();

7. 对象集合求某个值最大的对象:

Comparator<LeasingBusinessContract> comparator = 
Comparator.comparing(LeasingBusinessContract::getLeaseEndDate);

LeasingBusinessContract maxObject = 
leasingBusinessContractList.stream().max(comparator).get();

8. 对象集合根据对象中的某个属性进行去重:

thirdOrgList.stream()
        .collect(
                Collectors.collectingAndThen(Collectors.toCollection(() -> 
                new TreeSet<>(Comparator.comparing(o -> o.getId()))),
                ArrayList::new));

9. 已知两个集合,可以是两个不同对象的集合。根据两个对象中的某个属性进行求差集:

List<CmsModelItem> result = initList.stream()
                    .filter(init -> !yesList.stream()
                            .map(e -> e.getField())
                            .collect(Collectors.toList())
                            .contains(init.getField()))
                    .collect(Collectors.toList());

**1. 集合根据某个字段进行排序功能

 unprocessedItemList.sort(new Comparator<MapgpsAlarmRecordResult>() {
            @Override
            public int compare(MapgpsAlarmRecordResult o1, MapgpsAlarmRecordResult o2) {
                if (o1.getTypeWeight() == null || o2.getTypeWeight() == null) {
                    return 0;
                } else {
                    return o1.getTypeWeight().compareTo(o2.getTypeWeight());
                }
            }
        });
上一篇 下一篇

猜你喜欢

热点阅读