JAVA 8 lambda 表达式实现按某个属性值查找对象集合中符合条件的对象,需要从集合中查找商品id是1的商品对象。用表达式来查询代码很简洁。最重要的是相对于遍历而言,提交了速度。

    boolean b = mylist.stream().anyMatch(zfDict1 -> zfDict.getDictPid().equals(zfDict1.getDictId()));

stream()将集合转换为流

后面的方法就是java8 stream接口终端操作,常用的有 anyMatch,allMatch,noneMatch。还有一些其他方法,比如filter()等等。
anyMatch:判断的条件里,任意一个元素成功,返回true
allMatch:判断条件里的元素,所有的都是,返回true
noneMatch:与allMatch相反,判断条件里的元素,所有的都不是,返回true
count方法,跟List接口中的 .size() 一样,返回的都是这个集合流的元素的长度,不同的是,流是集合的一个高级工厂,中间操作是工厂里的每一道工序,我们对这个流操作完成后,可以进行元素的数量的和;

而lambda表达式里面的就是判断条件

   List<ZfDict> list =new ArrayList<>();QueryWrapper<ZfDict> wrapper=new QueryWrapper<>();wrapper.eq("dict_type","CASE_CASETYPE");if(key!=null && !"".equals(key.trim())){wrapper.like("dict_name",key);}list = list(wrapper);//用来承装原集合,不能直接把list付给他,那样就相当于是一个指针,指向list,mylist何list都是一个集合List<ZfDict> mylist =new ArrayList<>();mylist.addAll(list);for (ZfDict zfDict:list){if (zfDict.getDictPid()=="0"||"0".equals(zfDict.getDictPid())){continue;}boolean b = mylist.stream().anyMatch(zfDict1 -> zfDict.getDictPid().equals(zfDict1.getDictId()));if (!b){ZfDict dict_id = getOne(new QueryWrapper<ZfDict>().eq("dict_id", zfDict.getDictPid()).eq("dict_type","CASE_CASETYPE"));if (dict_id!=null){mylist.add(dict_id);}}}

快捷查找list集合的某个元素相关推荐

  1. java二分查找算法字符串数组_Java 算法——二分查找数组集合关键元素

    packagecom.sinosoft;import java.util.*;importjava.util.stream.Stream;/***@authorCreated by xushuyi * ...

  2. matlab查找集合中某个元素的位置/Struct结构体某个字段值的位置

    % 查找集合中某个元素的位置 C = {'xlh','gyl','xyh'}; c = strcmp(C,'gyl'); % logical array ind0 = find(c==1);% Str ...

  3. 【Day1】数组、704二分查找、27移除元素

    [Day1]数组.704二分查找.27移除元素 数组 704 二分查找 版本一 左闭右闭 即[left, right] 版本二 左闭右开 即[left, right) 27 移除元素 暴力解法 双指针 ...

  4. 代码随想录算法训练营第一天 704 二分查找、27 移除元素

    代码随想录算法Day1 | 704. 二分查找.27. 移除元素 Last edited time: April 5, 2023 11:27 AM 数据理论基础 数组是存放在连续内存空间上的相同类型数 ...

  5. Redis 笔记(06)— set 类型(向集合添加元素、获取集合元素个数、判断集合中是否包含某个元素、删除给定元素、返回集合中所有元素、计算集合的交集、并集、差集)

    Redis 的 set 集合内部的键值对是无序的唯一的.它的内部实现相当于一个特殊的字典,字典中所有的 value 都是一个值 NULL .当集合中最后一个元素移除之后,数据结构自动删除,内存被回收. ...

  6. java list 拼音排序_java中实现List集合中对象元素按其属性的中文拼音排序

    java中List集合的元素是按照添加顺序排序的,我们在实际开发过程中,可能会遇到需要对其内容进行排序的场景,接下来对我遇到的场景所采用的解决方式做个总结. 一.业务场景 管理后台商户名称下拉列表,需 ...

  7. java里css查找快捷键_CSS入门2—元素快捷键

    在编写Css代码的过程中,使用元素快捷键可以很大的提高开发的效率,以下是webstorm编辑器中的elemt快捷方式: 一.子集关系:">" 1.书写格式:父级元素>子 ...

  8. python集合中的元素是否可以重复_python中集合中的元素是否可以重复

    python中集合中的元素不可以重复.集合是一个无序的不重复元素序列,我们可以使用大括号{}或者set()函数来创建一个集合,具体语法为:[parame = {value01,value02,...} ...

  9. 在指定的查找范围内获取DOM元素

    在指定的查找范围内获取DOM元素 (1)功能描述 定义两个全局变量,其$objTmp0通过$(expression,[context])方法获取DOM元素div0,另外一个变量$objTmp1通过$( ...

最新文章

  1. 数据库历险记(二) | Redis 和 Mecached 到底哪个好?
  2. 【Xamarin 挖墙脚系列:Xamarin SDK开源了................】
  3. debug信息关闭 tp6_「Flask实战2」设置debug模式
  4. MFC中卡拉OK字体的定时器实现,使用DC的DrawText函数实现
  5. 张高兴的 .NET Core IoT 入门指南:(五)PWM 信号输出
  6. 微机原理实验1:字符串匹配程序实验
  7. 计算机支持协同工作不是多媒体应用,计算机支持的协同工作概观.PDF
  8. Wap wml开发中需要注意的地方
  9. php trait编译实现,为什么PHP Trait不能实现接口?
  10. JBoss - 调整JVM内存 -Xms512m -Xmx1024m
  11. android信鸽推送demo_腾讯信鸽Android推送集成全解
  12. (二十)美萍酒店管理系统:系统维护_系统设置_房间类型_单个添加、多个添加
  13. 《吴恩达深度学习》学习笔记011_深度卷积网络:实例探究(Deep convolutional models: case studies)
  14. linux操作之nfs服务搭建
  15. 英特尔cpu发布时间表_英特尔延长CPU发布周期:摩尔定律终结
  16. ISCC 2018 PWN WriteUp
  17. python字符串str_python3 字符串str 教程
  18. Unity 中 print 和 Debug.Log 的区别
  19. 计算机网络安全评估,计算机网络系统安全性分析及评估
  20. 用户网络接口UNI和网络节点接口NNI

热门文章

  1. python的squarify库一些用法
  2. 四川师范大学地信概论(1-绪论)90分以上版本
  3. 191105CSP模拟DAY1
  4. 函数助手-时间函数-timeShift
  5. 使用自己的域名解析cnblogs博客(CSDN也可以)
  6. es5的data语法_ES5与ES6数组方法总结
  7. 头像上传 -- [七牛云]
  8. java+设置半角_Java处理全角半角问题
  9. KCF跟踪算法论文阅读与原理分析
  10. SQL条件查询/动态SQL