添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
根据属性A分组,然后取分组里属性B最大的值, 最后合并成list
       Map<String, IWLS_EnDepotEntry> collect = endepot.stream().collect(
                Collectors.groupingBy(IWLS_EnDepotEntry::getPurBCode,
                        Collectors.collectingAndThen(Collectors.reducing((c1, c2) -> c1.getNum().intValue() > c2.getNum().intValue() ? c1 : c2),
                                Optional::get)));
        endepot = new ArrayList<>(collect.values());
        Map<String, IWLS_EnDepotEntry> collect1 = enDepotEntryList.stream().collect(
                Collectors.groupingBy(IWLS_EnDepotEntry::getPurBCode,
                        Collectors.collectingAndThen(Collectors.reducing((c1, c2) -> c1.getNum().intValue() > c2.getNum().intValue() ? c1 : c2),
                                Optional::get)));
        enDepotEntryList = new ArrayList<>(collect1.values());

根据时间排序,倒叙

List endepot = endepot.stream().sorted(Comparator.comparing(DoctorTimeEntity::getCreateTime).reversed()).collect(Collectors.toList());

参考地址;https://www.cnblogs.com/caolixiang/p/11969042.html

根据属性A分组,然后取分组里属性B最大的值, 最后合并成list Map&lt;String, IWLS_EnDepotEntry&gt; collect = endepot.stream().collect( Collectors.groupingBy(IWLS_EnDepotEntry::getPurBCode, ... //java stream 实现list分组求和后并最大值 List<HitRuleConfig> list = new ArrayList<>(); list.add(new HitRuleConfig("1", "1", new BigDecimal(1), 1)); list.add(new HitRuleConfig("1", "1", new BigDe.
Java stream 处理分组后[升降序key]每组最大一. 需求二. 整活 git仓库直达 如何让同事看不懂你写的代码 然后觉得你非常牛逼 这里用到了stream()与Lambda 需要有点基础,没基础你炫个???? 一. 需求 有一组(K=V)类型的字符串,需要你将它按照key分组并找到每组最大的数字收集起来,key需要经过排序(升序或者降序) List<String> numStr = Lists.newArrayList("aa=1", "bb=10", "cc=1111", "aa
import java.util.Comparator; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.function.Function; import java.util.function.Predicate; import java
List<User> userList =new ArrayList<User>(); userList.add(new User("1",1,"1","1")); userList.add(new User("2",14,"1","2")); userList.add(new User("12",41,"2","2")); userList.add(new User(...
Map<String, List<Integer>> map = // 分组得到的Map map.forEach((key, value) -> { value.sort(Comparator.naturalOrder()); 其中,`value.sort(Comparator.naturalOrder())`方法用于对值进行排序,`Comparator.naturalOrder()`表示使用自然排序方式。 此外,如果需要对值进行自定义排序,可以传入自定义的`Comparator`,例如: ```java Map<String, List<Integer>> map = // 分组得到的Map map.forEach((key, value) -> { value.sort((a, b) -> { // 自定义排序逻辑 注意,上述代码直接对原始List进行了排序,因此会修改原始数据。如果需要保留原始数据,可以使用`Collectors.toList()`方法创建一个新的List,然后对新的List进行排序。例如: ```java Map<String, List<Integer>> map = // 分组得到的Map Map<String, List<Integer>> sortedMap = map.entrySet().stream() .collect(Collectors.toMap(Map.Entry::getKey, e -> { List<Integer> newList = new ArrayList<>(e.getValue()); newList.sort(Comparator.naturalOrder()); return newList; 其中,`Collectors.toMap()`方法用于将排序后的List转换为Map。