学习Java8中StreamAPI的笔记

这篇具有很好参考价值的文章主要介绍了学习Java8中StreamAPI的笔记。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本次笔记记录一下我自己学习Stream流的一个情况。

第一种:使用Stream流来代替增强for循环进行赋值:
这是使用增强for循环的写法:

public static void main(String[] args) {

ArrayList<String> strings = new ArrayList<>();
strings.add("张三");
strings.add("李四");
strings.add("王五");

strings.stream().forEach(System.out::println);

}

 文章来源地址https://www.toymoban.com/news/detail-822221.html

执行结果为:

学习Java8中StreamAPI的笔记

 

 

第三个,使用Filter来进行简单的过滤

public class demmo {
public static void main(String[] args) {

ArrayList<String> strings = new ArrayList<>();
strings.add("张三");
strings.add("李四");
strings.add("王五");
strings.add("王二麻子");

strings.stream().filter(string->!string.equals("张三")).forEach(System.out::println);

}
}


执行结果为:

学习Java8中StreamAPI的笔记

 


第三种:使用Stream流的filte和noneMatch来过实现滤多组数据的值(把两组List一个当作条件一个当作结果,A组里面含有B的(map结构是为了模拟实际业务中 key:value的情况,可以进行替换成为需要的数据)),实现复杂数据的对比。

public class demmo {
public static void main(String[] args) {
List<Map<String, String>> list1 = new ArrayList<>();

HashMap<String, String> stringStringHashMap1 = new HashMap<>();
stringStringHashMap1.put("name", "张三");
list1.add(stringStringHashMap1);

HashMap<String, String> stringStringHashMap2 = new HashMap<>();
stringStringHashMap2.put("name", "王五");
list1.add(stringStringHashMap2);

List<Map<String, String>> list2 = new ArrayList<>();

HashMap<String, String> stringStringHashMap3 = new HashMap<>();
stringStringHashMap3.put("name", "张三");
list2.add(stringStringHashMap3);

List<Map<String,String>>newList=
list1.stream().filter(map->list2.stream().noneMatch(obj->obj.get("name").equals(map.get("name")))).collect(Collectors.toList());
for (Map<String, String> ssmap : newList){
System.out.println(ssmap);
}
}
}

 

 

执行结果为

学习Java8中StreamAPI的笔记

 


去除了张三这个相同的值,只有王五这个值,这个还能继续扩展,自己发挥吧。

第四种,使用Stream流来进行截取,选择一串数据的前几个来进行显示。

public class demmo {
public static void main(String[] args) {

ArrayList<String> strings = new ArrayList<>();
strings.add("张三");
strings.add("李四");
strings.add("王五");
strings.add("王二麻子");

strings.stream().limit(2).forEach(System.out::println);

}
}

 

执行结果为:

学习Java8中StreamAPI的笔记

 

到了这里,关于学习Java8中StreamAPI的笔记的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java8的Stream流的学习

    Stream可以由数组或集合创建,对流的操作分为两种: 中间操作,每次返回一个新的流,可以有多个。 终端操作,每个流只能进行一次终端操作,终端操作结束后流无法再次使用。终端操作会产生一个新的集合或值。 stream和parallelStream的简单区分: stream是顺序流,由主线程按

    2024年02月07日
    浏览(32)
  • 记录一下Java JDBC连接微软SQL Server遇到的那些坑

    最近忙实习,宅在国内远程办公,然后呢我的西班牙老板又要求我用Java做某个管理系统。由于我的电脑和公司的远程电脑上都装的是SQL Server 2019,为了图方便,我就没有换数据库系统软件,顺便随手建了个库建了个表来测试一下。 表大概长这么一个样子:  插入了一些数据

    2024年02月04日
    浏览(32)
  • 【概念记录】什么是 行最简形 矩阵?| 人工智能 面试题:解释一下集成学习(Ensemble Learning)的概念和优势。| 集成学习 概念,优势,方法

      “生活不是电影,生活比电影苦。”     🎯作者主页: 追光者♂🔥          🌸个人简介:   💖[1] 计算机专业硕士研究生💖   🌿[2] 2023年城市之星领跑者TOP1(哈尔滨)🌿   🌟[3] 2022年度博客之星人工智能领域TOP4🌟   🏅[4] 阿里云社区特邀专家博主🏅   🏆[5] CSD

    2024年02月06日
    浏览(43)
  • 学习一下Java的ArrayList和contains函数和扩容机制

    在Leetcode上做题写了两种暴力解法,但是执行效率上不太一样。 时间上差很远,内存虽然差不多但是前者击败30%,后者击败94%。这两种解法区别是用一条 ArrayList 还是两条来存数据,所以contains虽然执行次数一样但是检测的长度上不一样,而且 ArrayList 的扩容次数也不一样,所

    2024年02月08日
    浏览(39)
  • 浅浅记录一下对某音的X-Agus、X-Gorgon、X-Khronos、X-Ladon研究(仅学习使用)

    近期比较闲,于是对该app进行了逆向研究 前两年也对这个app进行了研究,那时候还没有什么加密参数 可以很正常的进行采集 现在发现连包都抓不到了 于是查看了相关资料 发现该app走的不是正常的http/s协议 于是我hook了传输协议 就可以正常抓包了 抓包后就发现多了好几个加

    2024年01月19日
    浏览(27)
  • springboot3(二、StreamAPI)

    StreamAPI这种函数式编程是声明式编程,声明式编程是一种编程范式,它着重于描述问题的\\\"是什么\\\",而不是\\\"如何做\\\"。在声明式编程中,我们更关注问题的定义和规范,而不需要显式地指定每个步骤的实现细节。 Stream Pipeline:流管道、流水线 Intermediate Operations:中间提作 Ter

    2024年01月23日
    浏览(37)
  • Qt:记录一下好看的配色

    2024年02月13日
    浏览(32)
  • 使用了百度OCR,记录一下

    由于识别ocr有的频率不高,图片无保密性需求,也不想太大的库, 就决定还是用下api算了,试用了几家,决定用百度的ocr包,相对简单。 遇到的问题里面下列基本有提到:例如获取ID,KEY;例如安装库; 参考帖子:python+百度OCR的使用方法(踩坑+测试程序)_no module named \\\'ai

    2024年02月06日
    浏览(32)
  • 【学习笔记】Thingsboard修改记录

    src/app/modules/home/home.component.html 主页在这 src/app/modules/home/components/entity/entities-table.component.html 大部分表格内容在这(包括侧界面) 每个表格界面基本都是继承于这个界面来做的 UserTabsComponent继承于EntityTabsComponent  这个界面基本都是用来做属性栏的 (UserTabsComponent来自于src/

    2024年02月13日
    浏览(36)
  • Webpact学习笔记记录

    声明:以下笔记内容均摘自Webpack+react全家桶开发谷粒后台项目 ~张天禹老师的讲课视频,仅供学习使用 这个项目比较旧,因此以下的的安装都加上了版本号,以免新版本不兼容影响学习,如果不加上版本号会有不一样的表现,也可能出错~。 在webpack_test下建一个webpack.config.

    2024年02月12日
    浏览(25)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包