javalist凑数_java8-Streamfilter操作:多个List取并集
java8-Stream filter操作:多个List取并集
在项⽬中很容易遇到那种需要取并集或者交集的情况。
java调用python模型如果按照传统的⽅式,使⽤for循环嵌套for循环来操作,也可以实现。但是代码看起来没有那么优雅。
Java8提供了Stream的操作。
例如简单的递归查。
根据当前的分类到相对应的所有⼦级对象。
如果使⽤传统for循环。⼀般的操作⽅式
//查出所有的对象,然后根据对象进⾏判断操作
ListOjbect list = new Array();
list = service.queryList()
/
/此处的Object泛指⼀个对象。
for(Object obj:list){
//TODO
//查所有parentId=当前ID的数据,再判断是否还存在下级
//。。。。。。
}
Stream的操作⽅式⽐较简单。
如下
//1、将所有的List数据进⾏筛选,然后根据筛选出来的数据进⾏并集操作
ListEntity allEntities = service.querylist();
//2、筛选下级
ListEntity sencondEntities = allEntities.parallelStream().filter(s - s.getParentCid()==id)).List());
//3、根据下级筛选下下级
ListEntity thirdleveEntities = allEntities.stream().filter(a -
sencondEntities.stream().map(Entity::getId).List()).ParentId())).List());
这样就可以把所有的下级和下下级都筛选出来了。
说明下,这个只是对于有限下级的操作,对于不确定的和数据集合⼤的,⾛递归可能还是⽐较⽅便⼀些。这个因为数据总量⼩于500;层级只有3级,所以选择了这样的操作。其实很多时候代码是为业务服务的,如果业务有限,没必要考虑通盘的扩展,毕竟性能和扩展性⼀样重要。
后记,整篇⽂章有⽤的代码只有这⼀句,其他都是凑数的。看懂了这⾏,其他的都是⽩搭的。
allEntities.stream().filter(a -
sencondEntities.stream().map(Entity::getId).List()).ParentId())).List())
java8-Stream filter操作:多个List取并集 相关⽂章
JavaScript(3)
6、操作BOM对象(重点) 浏览器介绍 JavaScript和浏览器关系 JavaScript诞⽣就是为了能够让他在浏览器中运⾏! BOM:浏览器对象模型浏览器内核: IE 6~11 Chrome SAfari FireFox 第三⽅浏览器(使⽤上述内核): QQ浏览器 360浏览器 window (重要) window
邮件发送定时操作
1邮件发送 1.1编写配置⽂件 #QQ邮箱spring.mail.username=2082620872@qq#密码
spring.mail.password=rntexrvtuhmvefia#固定的spring.mail.host=smtp.qq#开启加密验证
spring.mail.properties.mail.able=true 1.2导⼊依赖 dependency groupI
第⼀章---线性表之单链表的操作
#include iostream#include stdlib.husing namespace std;typedef int DataType; //使int重命名为DataType DataType flag = 0;
/
/flag是⽤来判断神魔时候输⼊数据结束 typedef struct Lnode{DataType data; //定义DataType为int ,存储结构为顺序存储 struct
hdfs - 操作之API
1.HDFS 客户端环境准备 (1)根据⾃⼰电脑的操作系统拷贝对应的编译后的 hadoop jar 包到⾮中⽂路径(例如:D:\Develop\hadoop-
2.7.2) (2)配置 HADOOP_HOME 环境变量 (3)配置 Path 环境变量 2. 创建⼯程 (1)创建⼀个 Maven ⼯程 HdfsClientDemo (2)
【转】Selenium - Web⾃动化测试的基本操作实现
摘要: 之前⽤Selenium做UI⾃动化测试从初学到熟练碰到过很多问题,这⾥就不⼀⼀细说了,所以把最基本的操作都写在了⼀起,包括:控制浏览器, 操作元素,⿏标事件,键盘事件,设置元素等待,多表单/窗⼝切换,警告框处理,上传⽂件,操作Cookie,调⽤JavaScr
C# 对mysql 操作的封装
最近写了⼀个类,实现了对mysql数据库的基本操作的封装。有需要的可以拿去。先上效果,另外有问
题可以⾃⼰修改或者联系。 数据库结构: ⼀:效果 1.1原数据表 1.2:连接数据库 MySQLBase sqlbase = new MySQLBase("test", "localhost", "root", "Zhong123456
js数组的map,⽅法
在项⽬中经常⽤到的就是这⼏个,个⼈频繁⽤到最多的就是map。 map map也就是映射,是⼀⼀对应的关系,返回⼀个新数组,数组中的元素为原始数组元素调⽤函数处理后的值。 let arr = [54,66,34,99,60]; let arr2 = arr.map(item ={return item=60 '及格' : '不
django⽂档总结之基本操作(1)
基本操作 基本准备 终端创建项⽬: django-admin startproject 项⽬名称 pycharm中选择django创建项⽬ ptcharm下终端创建⼦应⽤: python manage.py startapp users(⼦应⽤名) pycharm下终端项⽬运⾏: python manage.py runserver (ip端⼝,默认8000) settin
制作局域yum源(⾄少有两个虚拟机)
节点⼀的操作 制作本地yum源 挂载镜像⽂件 mount -o loop /CentOS-6.9-x86_64-bin-DVD1.iso /mnt/cdrom/ 设置镜像⽂件开机⾃挂载 vi /etc/fstab/CentOS-6.9-x86_64-bin-DVD1.iso /mnt/cdrom iso9660 defaults,ro,loop 0 0 进⼊ cd /pos.d/
⽬录, 创
HDFS的API操作
1、获取FileSystem对象 /** * 获取FileSystem对象 * @return * @throws URISyntaxException * @throws IOException * @throws InterruptedException */ private FileSystem getFs() throws URISyntaxException, IOException, InterruptedException { Configu
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论