捡对象引流脚本 内容

我本来要写一篇关于如何将流与每个元素的索引混合的文章,但是Baeldung上的人们已经很好地涵盖了这个主题 ! 鉴于我是他们编辑团队的一员,我为他们/我们感到自豪。


有趣的是,特别是Streams中的Java函数式编程如何使我们摆脱了一些常见的模式。 例:

List<Foo> foos = new ArrayList<>();
for (int i=0; i < bars.size(); i++) {foos.add(new Foo(i, bars.get(i));
}

上面的代码从索引创建一个新的Foo ,从源列表创建一个bar

Stream.collect是一个更大的信号表明我们要从迭代中提取数据时,我们不喜欢在for循环中间使用add 。 同样,当我们可以在流声明中更明确地表示有效的Stream.map时,我们不希望将其隐藏在循环中。 我们都知道以上内容应读为:

List<Foo> foos = bars.stream().map( ... something ...).collect(toList());

尴尬的挑战是某些事情不容易完成。

如何选择做什么

总体而言,围绕流操作编写复杂的功能清单是一种隐藏流旨在向我们展示的东西的方法,即,数据如何从一个地方流到另一个地方。

所以这是一些想法:

  • 也许只有一个for循环-可能会更容易
  • 如果您发现操作主体中的主要参与者是索引,那么请进行一系列索引,并在最后一分钟将对象与List.get混合,假设您的列表已被有效索引
  • 如果主要玩家是一个对象,则可以存储一个计数器( AtomicInteger是一个不错的选择)并在最后一刻增加它,注意排序和并行流
  • 如果代码变得复杂,请尝试通过提取函数来将流逻辑与业务逻辑分离
  • 也许将其委托给一个图书馆-Baeldung的文章展示了ProtonPack和其他可能更好的东西,它们已经过测试和记录。

无论您做什么,都不要从原则上使自己变得困难。

翻译自: https://www.javacodegeeks.com/2019/08/object-index-streams.html

捡对象引流脚本 内容

捡对象引流脚本 内容_对象和索引流相关推荐

  1. 对象必须实现 iconvertible_Java I/O 流之数据流_对象流

    一.数据流 1.数据简介 数据流将"基本数据类型与字符串类型"作为数据源,从而允许程序以与机器无关的方式从底层输入输出流中操作Java基本数据类型与字符串类型. DataInput ...

  2. java数组可以包含对象吗_数组可以包含对象类型的元素吗_对象数组

    对象数组就是数组里的每个元素都是类的对象,赋值时先定义对象,然后将对象直接赋给数组就行了. 怎样声明包含 5 个元素的对象数组,每个元素都是 Employee 类型的对象 浏览次数:4875 bill ...

  3. 实施日志流处理分析_通过实施了解流

    实施日志流处理分析 Since functional programming has been taking the main stage in programming history (again, ...

  4. Java字节流和字符流的优缺点_字节流与字符流的区别用字节流好还是用字符流好?...

    字节流: (A)FileOutputStream(File name) 创建一个文件输出流,向指定的 File 对象输出数据. (B)FileOutputStream(FileDescriptor) ...

  5. java对象流读取完毕_从Java 8流中获取具有最大频率的对象

    我有一个带有city和zip字段的对象,我们称之为Record. public class Record() { private String zip; private String city; // ...

  6. java对象强转 新增字段_对象属性转成表字段

    这几天在恶补正则表达式,今天刚好遇到一个小需求,大致就对象属性转成数据表字段的名字: 也就是userName ---> user_name,很简单的替换,不会用java的正则表达式,耽误了一会时 ...

  7. php 对象 final,PHP7_OOP_对象重载以及魔术方法_对象遍历_final关键字

    //对象遍历: class MyClass{ public $var1 = "value 1"; public $var2 = "value 2"; publi ...

  8. java 对象构造函数_20.Java基础_对象的构造函数

    package pack1; public class Student { private String name; private int age; //构造方法 //如果没有任何构造函数,系统会自 ...

  9. workbench 流固耦合_基于Workbench的流固耦合作用下三通管振动特性分析

    基于Workbench的流固耦合作用下三通管振动特性分析 韩天宇,郭长青*,谌冉曦 (南华大学 土木工程学院,湖南 衡阳 421001) 摘 要:使用ANSYS Workbench软件,对流固耦合作用 ...

最新文章

  1. subList用法详解
  2. GIT项目管理工具(part8)--版本控制
  3. Hibernate持久化对象的状态:瞬时状态、持久化状态、托管状态
  4. java mysql实现原理_MySQL事务实现原理
  5. 2021 元宇宙研究报告!
  6. Jeecg 切换默认首页方法
  7. vue-cli 搭建的项目处理不同环境下请求不同域名的问题
  8. 手摸手教你git配置ssh
  9. CSS 3D透视效果 星空穿越
  10. 操作系统——零碎概念
  11. 美妆类短视频如何定位?可以考虑三个方向,吸粉引流指日可待
  12. 2345浏览器兼容模式怎么设置
  13. rest-assured实战
  14. Processing交互应用——躲避炸弹
  15. VMware虚拟机如何联网详解
  16. 南宁计算机职称考试网,南宁人事考试职称网
  17. 互联网创业公司的经理​其实最主要是一个产品​经理
  18. GitLab的使用之Git-biz push失败问题整理
  19. uc游览器 android系统,手机UC浏览器2019最新版
  20. PD等多协议快充诱骗触发器SINK(“Power Z 弟弟 Power Low”)DIY

热门文章

  1. 免费馅饼 HDU - 1176
  2. 牛客网 【每日一题】5月21日题目 图的遍历
  3. 【无码专区7】括号序列(思维)
  4. YBTOJ洛谷P2223:软件开发(费用流)
  5. YbtOJ#652-集合比较【Treap】
  6. jzoj1295-设计【差分约束系统,最短路】
  7. 【前缀和】【DP】登机(jzoj 5535)
  8. L2-013 红色警报 并查集
  9. SpringCloud Greenwich(一)注册中心之nacos、Zuul和 gateway网关配置
  10. java正则表达式中的坑String.matches(regex)、Pattern.matches(regex, str)和Matcher.matches()