假设您有一个项目清单:

List<String> books = Arrays.asList("The Holy Cow: The Bovine Testament","True Hip Hop","Truth and Existence","The Big Book of Green Design"
);

(不要判断我。此随机书生成器中的书 )

现在,您想创建一个新列表,其中仅将第三项替换为一些新值:

List<String> books = Arrays.asList("The Holy Cow: The Bovine Testament","True Hip Hop","Pregnancy For Dummies", // New book at index 2"The Big Book of Green Design"
);

当然,您可以去修改原始列表:

books.set(2, "Pregnancy For Dummies");

…或创建原始列表的副本,然后修改该副本:

List<String> copy = new ArrayList<>(books);
copy.set(2, "Pregnancy For Dummies");

但是,如果您想编写单行代码以按功能样式执行相同的操作,则可以使用jOOλ编写以下内容

seq(books).zipWithIndex().map(t -> t.v2 == 2 ? "Pregnancy For Dummies": t.v1).toList();

使用JDK标准Streams API,事情会变得有些困难。 您可以这样写:

Stream.concat(Stream.concat(books.stream().limit(2),Stream.of("Pregnancy For Dummies")),books.stream.skip(3)
).collect(Collectors.toList());

不过,这有点不幸,因为流的第一部分需要遍历两次-一次是限制,一次是跳过( 另请参见我们有关SQL的OFFSET分页的警告 )

迅捷还是不?

显然,如上所述,JDK API不会帮助您编写简洁的功能逻辑,并且“命令式”样式更加简单明了。 我们之前已经写过有关此内容的文章 。 这也是我们创建jOOλ的主要动机。

如果您正在寻找功能更多的幸福,也请查看以下库:

  • Java语言
  • 功能性Java

翻译自: https://www.javacodegeeks.com/2015/04/how-to-use-java-8-streams-to-swiftly-replace-elements-in-a-list.html

如何使用Java 8流快速替换列表中的元素相关推荐

  1. java替换数组中的元素_如何使用Java 8流快速替换列表中的元素

    java替换数组中的元素 假设您有一个项目清单: List<String> books = Arrays.asList("The Holy Cow: The Bovine Tes ...

  2. [算法和数据结构入门][Day2]python 直接替换列表中的元素几种方法

    目录 分支结构 字典 函数 字符串replace方法 在DNA中有4种碱基,分别为ATCG,其中符号"A"和"T"是互补的,符号"C"和&q ...

  3. Python实例 -- 如何快速获取列表中最大的三个元素

    如何快速获取列表中最大的三个元素 最近在做实验,期间需要在一个列表中获取最大的三个元素,自己写的方法复杂度太高,放上大牛的方法,复杂度很低.多看几遍,才能体会到大概的精髓.这道题也是Python的面试 ...

  4. Python快速找到列表中所有重复的元素

    Python快速找到列表中所有重复的元素:https://blog.csdn.net/sinat_29957455/article/details/103886088 index方法 为了能够找到元素 ...

  5. list -- set方法——替换列表中指定位置的元素

    set方法用于替换列表中指定位置的元素. 返回值:索引位置替换前的元素. 参数:index用于指定要替换元素所在位置的索引. 参数:element用于指定要存储在指定位置的元素. 示例  本示例使用L ...

  6. python 如何根据索引快速删除列表中的多个元素

    一.批量删除列表中不同位置的元素 列表是python中经常用到的一种数据结构,因python提供了很多方法对其增.删.查.改,故使用起来比较灵活,下面就介绍下如何快速删除列表中多个元素的方法. 二.具 ...

  7. python文件内容倒序_python实现对列表中的元素进行倒序打印

    1.案例要求: """有列表["a", "d", "f", "j","z&quo ...

  8. Python日常用法—将列表信息写入到csv文件、列表中的元素直接更改

    Python日常用法-将列表信息写入到csv文件 1.模板 # 编写数据 import csvdata_list = [{'皇马球员': 'C罗', '号码': '7', '国籍': '葡萄牙'}, ...

  9. python替换list中的元素

    对于列表,除了可以向列表添加元素,删除列表元素以外,列表已有的元素,也是可以修改的,通过索引指定位置,并赋值新的元素,即可替换列表中原有的元素 假如班上同学Candy需要转走了,同时有一个新的同学Ca ...

最新文章

  1. oracle创建DBA角色命令,oracle常用DBA命令
  2. python-opencv中的cv2.inRange函数
  3. Hibernate 基本配置文件+基本增删改查
  4. AsyncTask使用方式一
  5. Vs 2015 批量 删除注释
  6. 代理模式之Java动态代理
  7. 推荐一篇讲解各种debug技术的文章,相当不错!
  8. linux c 内存分配内存,Linuxc - 操作系统内存分配
  9. 关于Video Renderer和Overlay Mixer
  10. LeetCode 437. 路径总和 III(双重递归)
  11. js文件里获取路由 vue_【源码拾遗】从vue-router看前端路由的两种实现
  12. jQuery源码研究分析学习笔记-jQuery.deferred()(12)
  13. 非刚性人脸跟踪 —— 面部特征检测器
  14. 移动端 js 弹出层内容滚动的时候,不影响body的滚动条处理
  15. 绝缘吹风机行业调研报告 - 市场现状分析与发展前景预测
  16. win10 桌面图标变宽
  17. 怎样删除Word文档的强制性回车、断行
  18. 这十个Python实战项目,让你瞬间读懂Python!
  19. PS学习笔记之色彩模式
  20. Unity3d光影烘焙常见缺陷的解决方法【2020】

热门文章

  1. Echarts五步法加初体验
  2. 如何用xshell上宝塔
  3. python内置模块有哪些_python中那些小众但有用的内置模块
  4. ReviewForJob(2)算法分析
  5. 普罗米修斯使用es数据库_用普罗米修斯和格拉法纳仪法来豪猪
  6. aws lambda使用_使用AWS Lambdas扩展技术堆栈
  7. mongodb启用身份验证_为您的Web应用程序启用两因素身份验证
  8. 上下文异常中的上下文属性_在没有适当上下文的情况下引发异常是一种不良习惯...
  9. 侦听127.0.01_Spring 4.2中由注释驱动的事件侦听器
  10. 测试Maven版本插件自动递增版本号