首页 > 其他分享 >List分组并根据某个字段取最大的一条数据

List分组并根据某个字段取最大的一条数据

时间:2024-09-06 19:48:22浏览次数:14  
标签:list setJob List add 字段 分组 setNum new TestObj

       TestObj testObj1 = new TestObj();
        testObj1.setJob("ceshi1");
        testObj1.setNum(4);
        TestObj testObj2 = new TestObj();
        testObj2.setJob("ceshi1");
        testObj2.setNum(2);
        TestObj testObj3 = new TestObj();
        testObj3.setJob("ceshi1");
        testObj3.setNum(1);
        TestObj testObj4 = new TestObj();
        testObj4.setJob("ceshi2");
        testObj4.setNum(2);
        TestObj testObj5 = new TestObj();
        testObj5.setJob("ceshi2");
        testObj5.setNum(1);
        List<TestObj> list = new ArrayList<>();
        list.add(testObj1);
        list.add(testObj2);
        list.add(testObj3);
        list.add(testObj4);
        list.add(testObj5);
        Map<String, TestObj> maxAgePerson =list.stream()
                .collect(Collectors.groupingBy(TestObj::getJob,
                        Collectors.collectingAndThen(
                                Collectors.maxBy(Comparator.comparingInt(TestObj::getNum)),
                                Optional::get)));
        System.out.println(maxAgePerson.toString());

结果:

 

标签:list,setJob,List,add,字段,分组,setNum,new,TestObj
From: https://www.cnblogs.com/xiejn/p/18400881

相关文章

  • 【YashanDB知识库】修改字段长度后,jdbc驱动接口报YAS-04007 Message:result set metada
    问题现象yashandb修改表的字段长度后,客户的业务接口报YAS-04007异常,截图如下:问题的风险及影响客户的业务在访问yashandb时异常出错,影响使用问题影响的版本所有的yashandb版本问题发生原因使用jdbc接口获取PreparedStatement以后,修改表的字段长度,再用前面获取的PreparedStatement继......
  • Array List与顺序表
    学习目标线性表顺序表与链表的简单了解ArrayList的介绍ArrayList的扩容机制 线性表线性表(linearlist):是由n且具有相同的特性数据元素的有限列表,线性表在实际运用中常见的数据结构,常见的线性表:栈,堆,队列,顺序表,链表…链表:在逻辑上是连续的数据结......
  • ArrayList和LinkedList的区别
    >List子体系特点:A:有序的(存储和读取的顺序是一致的)B:有整数索引C:允许重复的 <!--more-->**List的特有功能**````voidadd(intindex,Eelement):将元素添加到index索引位置上Eget(intindex):根据index索引获取元素Eremove(intindex):根据index索引删除元素Es......
  • 使用itertools 中的groupby 对字典数组进行分组后排序
    有个需求需要对数据进行分组然后对分组后的组内数据继续排序fromitertoolsimportgroupby#示例数据data=[{'a':"攻击队1",'b':'张三','c':3},{'a':"攻击队1",'b':'张三1','c':1},......
  • Java使用gdal更改shp要素的字段属性值
    文章目录前言一、GDAL和Java版本二、代码1.引入gdal,设置gdal环境2.修改要素属性值3.测试使用总结前言昨天实现了gdal对shp文件进行属性字段的重命名,Java使用gdal重命名shp属性字段。对于gdb的话也是类似的思路,只不过gdb有多个图层,以后有涉及到再写。今天试了下gda......
  • WPF ListBox ListBoxItem Selected background style
    <Windowx:Class="WpfApp340.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft......
  • 【Day06-集合-Collection&List&Set】
    集合        集合框架概述        Java集合框架(JavaCollectionFramework,JCF)是Java编程语言的一部分,它提供了一种存储和操作一组对象的方式。这个框架的设计目标是提供一组标准的数据结构来帮助开发者更有效地管理数据。        接口与实现接口......
  • Java 对象list 根据时间createTime 过滤
    可以使用Java8的流(Stream)来实现这个需求。假设有一个包含createTime字段的对象列表,代码示例如下:importjava.util.Comparator;importjava.util.List;importjava.util.Optional;publicclassExample{publicstaticvoidmain(String[]args){//假设Li......
  • 二维数组根据某个字段去重并统计个数
    publicfunctioncensus(){$data=$this->request->post("params/a");//$data=[//['name'=>'Alice','specId'=>25],//['name'......
  • 本地机Spool出某个表的字段名和数据到csv
    之前是通过sqlcl提供的SETSQLFORMATcsv导出数据到csv文件,这次是想尝试仅仅是使用SQLplus中的spool导出数据数据准备SQL>SELECT*FROMEMPORDERBYEMPNO;EMPNOENAMEJOBMGRHIREDATESALCOMMDEPTNO_________________________......