首页 > 其他分享 >List<Object> 根据对象中的属性过滤数据

List<Object> 根据对象中的属性过滤数据

时间:2023-02-02 10:56:37浏览次数:29  
标签:name List UserEntity sex UserList add 过滤 id 属性

一.代码块

 public static void main(String[] args) {
        // 1.测试数据创建
        UserEntity user1 = UserEntity.builder().id(1).name("张三").sex(0).build();
        UserEntity user2 = UserEntity.builder().id(2).name("李四").sex(0).build();
        UserEntity user3 = UserEntity.builder().id(3).name("张三").sex(0).build();
        UserEntity user4 = UserEntity.builder().id(4).name("李四").sex(0).build();
        UserEntity user5 = UserEntity.builder().id(5).name("王五").sex(1).build();
        List<UserEntity> UserList = new ArrayList<>();
        UserList.add(user1);
        UserList.add(user2);
        UserList.add(user3);
        UserList.add(user4);
        UserList.add(user5);
        System.out.println(UserList);

        // 2.将姓名、性别一致的进行过滤
        List<UserEntity> UserList2 = UserList.stream().collect(
                Collectors.collectingAndThen(
                        Collectors.toCollection(
                                () -> new TreeSet<>(Comparator.comparing(p -> p.getName()+ ";" + p.getSex()))),ArrayList::new));

        // 3.结果打印
        System.out.println("处理后的数据:"+UserList2);

    }

二.输出块

处理前的数据[UserEntity(id=1, name=张三, sex=0), UserEntity(id=2, name=李四, sex=0), UserEntity(id=3, name=张三, sex=0), UserEntity(id=4, name=李四, sex=0), UserEntity(id=5, name=王五, sex=1)]
处理后的数据:[UserEntity(id=1, name=张三, sex=0), UserEntity(id=2, name=李四, sex=0), UserEntity(id=5, name=王五, sex=1)]

标签:name,List,UserEntity,sex,UserList,add,过滤,id,属性
From: https://www.cnblogs.com/songweipeng/p/17085245.html

相关文章

  • SQL - where条件里的!=会过滤值为null的数据
    !=会过滤值为null的数据在测试数据时忽然发现,使用如下的SQL是无法查询到对应column为null的数据的:select*fromtestwherename!='Lewis';本意是想把表里name的值不为​......
  • Oracle特定属性(列)去除重复数据
    Oracle根据特定属性(列)去除重复数据1、distinct关键字的用法:distinct关键字后面的字段组合去重distinct必须selectdistinctidfromtest结果;根据id去重selectdis......
  • 春哥博客 - ArrayList集合
    staticvoidMain(string[]args){//集合:很多数据的一个集合//集合的好处:长度可以任意改变,类型随便ArrayListlist=n......
  • 过滤器(springboot)
    实现步骤:1、创建自定义过滤器LoginCheckFilter2、在启动类上加入注解@ServletComponentScan3、完善过滤器的处理逻辑②:定义Spring管理的类(接口) @Slf4j@SpringBootAppl......
  • Qt | QListWidgetItem返回错误的背景颜色(始终返回颜色值为0)问题解决
    Qt|QListWidgetItem返回错误的背景颜色(始终返回颜色值为0)问题解决使用场景:程序使用QListWidget显示一个列表,这个列表具有点击选择和再次点击取消选择的功能,点击之后需要更......
  • pgrep:根据名称或其他属性查找进程(查找系统中running状态的进程)
    用法示例#根据名称过滤dewanWork~/code/shell%pgrepqemu3570191dewanWork~/code/shell%pgrepqemu-l3570191qemu-system-x86dewanWork~/code/shell%p......
  • 接口测试|Fiddler设置过滤
    Fiddler设置过滤基本的过滤操作流程以百度为例步骤:1、右侧高级工具栏点击Filters》勾选UseFilters》选择ShowonlyInternetHosts和ShowonlythefollowingHosts》在文......
  • Alist手动安装并使用教程
    一、官方文档及下载地址1、官方文档AList文档2、下载地址alist·GitHub二、下载并解压文件以Windows为例,下载指定版本的文件。三、运行1、解压文件并进入......
  • ref属性
    一.用处1.被用来给元素或子组件注册引用信息;2.应用在html标签上获取的是真实DOM元素,应用在组件标签上是组件实例对象;3.使用方式:<template> <div>  <h1v-tex......
  • css行内元素的line-height属性导致的高度溢出问题。
    <divstyle="line-height:1.12;"><spanstyle="display:inline-block;">此处的文字高度要大于所属的span元素的高度。<span></span></span><div>这里......