Java List 快速搜索对象 - 待遇〃不可预↘Insist

bierenbiewo11 2021-11-08 原文


Java List 快速搜索对象


比如现在有一个需求现在有一个List 里面装Student 对象 我们想找出这个List 对象里面student name=小明的对象 我想很多同学会像以前的我一样变量List 然后去比较 但是这样处理毕竟效率不高 所以今天查资料总结下

List<Student> list = new ArrayList<>();

  list.add(new Student("name1", 1));

  list.add(new Student("name2", 2));

  list.add(new Student("name3", 2));
  
  list.add(new Student("name1", 3));

  /**
   * 方法一 
   * 利用 Apache Commons Collections 工具类
   * 下载地址 http://commons.apache.org/proper/commons-collections/download_collections.cgi
   */
  Predicate<Student>predicate = new Predicate<Student>() {

   @Override
   public boolean evaluate(Student student) {
    // TODO Auto-generated method stub
    return student.getAge()==2;
   }
  };
  //找出age==2 的对象
  List<Student> result = (List<Student>) CollectionUtils.select( list, predicate);
  
  /**
   * 方法二
   * In java8, using Lambdas and StreamAPI this should be:
   * 需要安装Java8
   */
  
  List<Student> result1 = list.stream()
        .filter(item -> item.getName().equals("name1"))
        .collect(Collectors.toList());

  打印结果

name2
name3
JAVA8------------------
name1
name1

  

posted on
2019-09-04 23:25 
待遇〃不可预↘Insist 
阅读(7558
评论(0
编辑 
收藏 
举报

 

版权声明:本文为bierenbiewo11原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/bierenbiewo11/p/11462362.html

Java List 快速搜索对象 - 待遇〃不可预↘Insist的更多相关文章

  1. 三层交换机与路由器对接上网配置示例 – 远山的清风

    三层交换机与路由器对接上网配置示例 组网图形 图1 三层交换机与路由器对接上网组网图 三层交换机简介 配置注意 […]...

  2. Windows远程桌面连接Mac OS X – lolDragon

    Windows远程桌面连接Mac OS X 转载自:http://www.cnblogs.com/shanyo […]...

  3. idea快捷键 – zzrwty

    idea快捷键 只针对本人idea,用到了就更新,不根据常用性更新,和其他软件冲突的会标注 一、Ctrl快捷键 […]...

  4. Python接口测试实战2 – 使用Python发送请求

    课程目录 Python接口测试实战1(上)- 接口测试理论Python接口测试实战1(下)- 接口测试工具的使 […]...

  5. django 快速实现登录 – 虫师

    django 快速实现登录 2014-05-23 16:54  虫师  阅读(47150)  评论(4)  编 […]...

  6. 数据分析之—Python可视化工具 – ArnoldLu

    数据分析之—Python可视化工具 1. 数据分析基本流程 作为非专业的数据分析人员,在平时的工作 […]...

  7. 杂记 — 关于vue-router样式、vuecli引用全局js函数、vue.slot用法

    1、routerLinkTo 样式设置 首先,点击routerlink标签如下图:添加:router-link […]...

  8. pdf 图片提取 – lydstory

    pdf 图片提取 axPdfview2  .net...

随机推荐

  1. 指标体系(一)

    指标体系(一) 产品指标体系如何搭建 http://www.uml.org.cn/DevProcess/201 […]...

  2. 记一次nor flash固件烧录速度优化

    背景 某个方案使用的是spinor作为存储介质,每次烧录新固件都耗时数分钟,为了提高效率,需要对其进行优化。 […]...

  3. CentOS7用hostapd做radius服务器为WiFi提供802.1X企业认证

    CentOS7用hostapd做radius服务器为WiFi提供802.1X企业认证 来源: https:// […]...

  4. 关键系统的JVM参数推荐

    1. 性能篇 1.1 建议的性能参数 1. 取消偏向锁: -XX:-UseBiasedLocking JDK1 […]...

  5. 图解Java数据结构之队列

    本篇文章,将对队列进行一个深入的解析。 使用场景 队列在日常生活中十分常见,例如:银行排队办理业务、食堂排队打 […]...

  6. 数据库事务(Databse Transaction)

    什么是事务 是指作为单个逻辑工作单元执行的一系列操作。 事务处理可以确保除非事务性单元内的所有操作都成功完成, […]...

  7. git 入门教程之备忘录[译]

    备忘录[译] 创建 | Create 克隆一个已存在的仓库 | Clone an existing repos […]...

  8. 微信小程序入门四: 导航栏样式、tabBar导航栏

    实例内容 导航栏样式设置 tabBar导航栏 实例一:导航栏样式设置 小程序的导航栏样式在app.json中定 […]...

展开目录

目录导航