java-8相关内容

检查自定义对象列表是否与 Java 8 中的属性具有相同的值

我是 Java 8 的新手.我有一个 A 类型的自定义对象列表,其中 A 如下所示: 类 A {内部标识;字符串名称;} 我想确定该列表中的所有对象是否具有相同的名称.我可以通过遍历列表并捕获名称的先前值和当前值来做到这一点.在这种情况下,我发现 如何计算列表中某个属性具有相同值的自定义对象的数量.但是有没有更好的方法在 java 8 中使用流来做同样的事情? 解决方案 一种方法是获 ..
发布时间:2022-01-22 10:35:52 Java开发

根据独立的谓词流式传输集合并收集到多个结果

我正盯着一些我试图将其转换为纯函数式风格的命令式代码.基本上在 inputSet 上有一个迭代的 for 循环,我在其中检查 3 个谓词并根据哪个谓词匹配填充 3 个 outputSets.输出集可以重叠.如何使用 Java 8 流/映射/过滤器/等以纯函数方式执行此操作? 解决方案 最简单的解决方案(除了保持原样更容易)是创建三个单独的流: 设置set1 = inputSet.stre ..
发布时间:2022-01-22 10:35:34 Java开发

如何使用 Stream API java 8 一起打印两个列表?

我有两个列表如下 列表names = Arrays.asList("James","John","Fred");列表年龄 = Arrays.asList(25,35,15); 我想做的是像这样打印这两个列表 詹姆斯:25约翰:35弗雷德:15 用经典的方法很容易做到 for(int i=0;i 有没有办法使用 Stream API java 8 来做到这一点? 我能做的是 ..
发布时间:2022-01-22 10:35:18 Java开发

将消费者转换为函数

Function 接口的许多 lambdas 采用这种形式 t ->{//对 t 做点什么返回 t;} 我经常这样做,以至于我为此编写了一个这样的方法. 静态函数消费然后返回(消费者消费者){返回 t ->{消费者.accept(t);返回 t;};} 这使我能够做这样的非常好的事情: IntStream.rangeClosed('A', 'Z').mapToObj(a ..
发布时间:2022-01-22 10:35:11 Java开发

.stream() 和 Stream.of 有什么区别?

从集合中创建流的最佳方法是: 最终集合实体 = someService.getArrayList(); entities.stream(); Stream.of(entities); 解决方案 第二个没有做你想的那样!它确实不为您提供包含集合元素的流;相反,它会给你一个带有单个元素的流,它是集合本身(而不是它的元素). 如果你需要一个包含集合元素的流,那么你必须使用ent ..
发布时间:2022-01-22 10:35:02 Java开发

使用 Collection.stream 按特定属性进行动态分组

我正在尝试使用 Java 8 Collection-Stream 按多个属性对对象列表进行分组. 这很好用: 公共类 MyClass{公共字符串标题;公共字符串类型;公共字符串模块;public MyClass(字符串标题,字符串类型,字符串模块){this.type = 类型;this.title = 标题;这个.module=模块;}}列出数据 = 新的 ArrayL ..
发布时间:2022-01-22 10:34:29 Java开发

使用 Java 8 流计算加权平均值

如何计算 Map 的加权平均值,其中 Integer 值是要平均的 Double 值的权重.例如:地图有以下元素: (0.7, 100)//值为 0.7,权重为 100 (0.5, 200) (0.3, 300) (0.0, 400) 我希望使用 Java 8 流应用以下公式,但不确定如何同时计算分子和分母并同时保留它.这里如何使用reduction? 解决方案 您可以为 ..
发布时间:2022-01-22 10:33:12 Java开发

官方文档哪里说Java的并行流操作使用fork/join?

这是我对 Stream 框架: 某事创建了一个源 流 实现负责提供一个BaseStream#parallel() 方法,该方法又返回一个可以并行运行其操作的 Stream. 虽然有人已经找到了使用方法一个具有 Stream 框架并行执行的自定义线程池,我在 Java 8 API 中找不到任何提及默认 Java 8 并行 Stream 实现将使用 ForkJoinPool#common ..
发布时间:2022-01-22 10:32:57 Java开发

注册一个流“完成"钩

使用 Java 8 Stream API,我想注册一个“完成挂钩",如下所示: 流流 = Stream.of("a", "b", "c");//我无法控制的其他过滤器/映射stream.onComplete((Completion c) -> {//这就是我想做的:关闭资源();//这也可能有用:可选异常 = c.exception();exception.ifPresent(e -> ..
发布时间:2022-01-22 10:32:44 Java开发