steam()的应用_steam()在某个数组中-程序员宅基地

技术标签: Java  java  stream  java8  lamdar  

Steam()是jdk1.8新增的一个对集合操作的类,这里的Stream和I/O流不同,它更像具有Iterable的集合类,但行为和集合类又有所不同。
源码介绍
支持顺序和并行聚合的元素序列
操作。下面的示例演示了使用

int sum=widgets.stream()

.filter(w->w.getColor()=红色)

.mapToInt(w->w.getWeight())

.sum();

}

Collection.stream()创建顺序流,

Collection。parallelStream()创建并行流;
一:构造流的几种常见方法

//1.第一种,Steam.of(T... values)
   	Stream stream = Stream.of("a1", "b1", "c1")// 2.list.steam()使用较多
	List<User) list = new ArrayList()
	list.steam().常用方法,
	    //filter()-过滤,sorted()-排序,map()-执行函数,collect()-返回一个集合
        List<String> list2 = list.parallelStream().filter(t -> t.getValue() > 0)
			                .sorted(Comparator.comparing(Matter::getValue).reversed())
			                .map(Matter::getName)
			                .collect(Collectors.toList());
	3.List转map
	//查询自己签收的图片
	pubic void test(){
    
		List<Photos> photosList = photosDao.findByEnquiry_ReciverAndStateOrderByCreatimeDesc(Long.valueOf(userId), 0);
        /**
         * 按日期分组
         */
        Map<String,List<Photos>> map= photosList.parallelStream().collect(Collectors.groupingBy(this::fetchGroupKey));
	}
	
	
		 /**
         	* 日期是Date类型这里需要转化为String
         	*/
	  private String fetchGroupKey(Photos photos){
    
        return photos.getCreatime().toString();

    }
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Vladme/article/details/103427264

智能推荐

android锁屏后不能更新UI,Android:为什么子线程不能更新UI-程序员宅基地

1、前言众所周知在Android中,子线程是不能更新UI的;那么我在想,为什么不能,会产生什么问题;是否真的就一定不能在子线程更新UI;2、能否在子线程中更新UI答案是可以的,比如以下代码:@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setConten...

Abp(.NetCore)开发与发布过程3-部署Ubuntu站点-程序员宅基地

以下是笔者在 Ubuntu 16.0-64bit 环境下 发布 ABP(.NetCore)的全过程。特此记录,希望对大家有所帮助。准备的工具1.PuTTY(ssh,如果不想每次都用阿里云的远程登录,那么可以试试这个。)2.WinSCP(图形化SFTP客户端,美观又好用)3.Ubuntu 16.0-64bit Step 1 搭建 .NetCore运..._发布abp

vc mysql ado blob_在VC下采用ADO实现BLOB(Binary)数据的存储,读取,修改,删除。..._蓝莲安的博客-程序员宅基地

在VC下采用ADO实现BLOB(Binary)数据的存储,读取,修改,删除。作者:邵盛松 2009-09-05前言_mysql以ado方式处理blob

Mybatis (ParameterType) 如何传递多个不同类型的参数_mabatis 传多个参数如何指定类型-程序员宅基地

偶然碰到一个需要给xml传一个String类型和一个Integer类型的需求,当时心想用map感觉有点太浪费,所以专门研究了下各种方式。方法一:不需要写parameterType参数public List<XXXBean> getXXXBeanList(String xxId, String xxCode); <select id="getXXXBeanList" re..._mabatis 传多个参数如何指定类型

html支持jinja2,如何在Jinja2模板中包含HTML文件?_李业云的博客-程序员宅基地

我使用Flask micro framework作为服务器,它使用Jinja模板。我有一个父模板template.html和一些子模板,称为child1.html和child2.html,其中一些子模板是相当大的HTML文件,我想以某种方式将它们分开,以便在我的工作中更清晰。我的main.py脚本的内容:from flask import Flask, request, render_templa...

[虎符CTF] ezphp:LD_PRELOAD环境变量注入_Landasika的博客-程序员宅基地

目录思路遇到的问题什么是.so文件什么是LD_PRELOAD构造.so文件找到Nginx的缓存文件的目录遇到的问题找到缓存目录上传.so思路参考链接:http://y24.top/posts/%E6%96%87%E7%AB%A0/2022%E8%99%8E%E7%AC%A6ctf/https://tttang.com/archive/1384/https://www.anq..._虎符杯 ld_preload

随便推点

Android为什么能在子线程中更新UI_为什么有时候android里面可以在子线程可以更新ui-程序员宅基地

Android为什么能在子线程中更新UI刚学习Android开发的时候经常有需要在子线程里更新UI的操作,总是会遇到报错:Only the original thread that created a view hierarchy can touch its views.“只有创建视图层次结构的原始线程才能触摸其视图。”因为大部分的View创建都是在UI线程(主线程),所以我们都有一个共识:..._为什么有时候android里面可以在子线程可以更新ui

20190608 JavaBean转jsonString时首字母大写的问题_java dto转字符串不改变大小写-程序员宅基地

JavaBean转jsonString时首字母大写的问题这次出差,对接第三方发行系统,又出现了大驼峰命名的json字符串,因此做个笔记记录下。约定俗成的,JavaBean的属性采用小驼峰命名法。但是,在对接接口的过程中,如果是要去接入别人的接口,如果对方没有使用约定俗成的小驼峰命名,那么也只能自己做出调整适配了。这样的事情也遇到过几次了。有的是对接自己公司php的接口,有的是对接第三方系统的..._java dto转字符串不改变大小写

2.22JAVA中protected和final语法细节_java中final protected类型的函数-程序员宅基地

1protexted修饰的内容可在本类内访问,也可在同一包内访问,也可在此类的子类访问2子类重写父类protected方法,并且把它改为public,但是子类不能削弱父类中定义的方法等可访问性。例如,如果一个方法在父类中定义为public在子类中也必须定义为public3final表示一个类是最终的,是不能被继承的final修饰一个类的方法可以防止它被子类重写4final也可修饰方法中的局部变量,最终局部变量就是常量..._java中final protected类型的函数

好程序员web前端分享7个步骤:让JavaScript变得更好-程序员宅基地

  好程序员web前端分享7个步骤:让JavaScript变得更好,随着浏览器性能提高,伴随着新的HTML5的编程接口的稳步采用,网页上的JavaScript的音量在逐渐增加。然而,一个写得不好的程序编码却拥有着打破整个网站,让用户为之沮丧和驱赶潜在客户的潜力。  开发人员必须使用所有供他们任意使用的工具和技术来提升他们的代码的质量,并有信心确认每次的执行都是可以预见的。这..._scripts may close only the windows that were opened by it. windowclose @ dem

Ubuntu 16.04使用kubeadm安装kubernetes 1.15总结-程序员宅基地

1.环境信息:Ubuntu 16.04,Docker:18.09.82.机器信息:使用4个节点,其中一个部署为master节点,另外三个为普通节点 IP Role 10.21.103.111 Master 10.21.103.161 Node...

ubuntu12.04安装svn 1.7_ubuntu 12.04 svn 1.7-程序员宅基地

转自:http://blog.csdn.net/xiaohuan_study/article/details/129492511.问题 在Ubuntu12.04上面安装svn,默认的版本是1.6,突然想使用高版本的svn。2.解决办法 1. 在sources.list添加ppa的源,可以在末尾添加如下两行: d_ubuntu 12.04 svn 1.7