java-stream相关内容

.forEach 和 .sort 不起作用,并且无法在块中设置断点

我正在使用 Java 8(内部版本 1.8.0_25)、Netbeans 8.0.2,并且正在将一些 Java 8 功能整合到现有应用程序中.排序和 .forEach 不起作用,所以我创建了一些测试代码以确保我理解 lambda 等并诊断问题.下面是新代码以及与我系统中的数据交互的代码的组合: public void test(Registration reg) {/* 新代码 */列表 ..
发布时间:2022-01-22 10:29:09 Java开发

Java流groupingBy并对多个字段求和

这是我的列表 fooList 类 Foo {私有字符串名称;私有 int 代码;私人 int 帐户;私人int时间;私人字符串其他;...构造函数,吸气剂和二传手} 例如(帐户的所有值都已设置为1) new Foo(First, 200, 1, 400, other1),新 Foo(First, 200, 1, 300, other1),新 Foo(First, 201, 1, 10, ot ..
发布时间:2022-01-22 10:28:57 Java开发

Java 中 stream.max(Comparator) 和 stream.collect(Collectors.maxBy(Comparator) 的区别

在 Java Streams 中 - stream.max(Comparator) 和 stream.collect(Collectors.maxBy(Comparator)) 在性能方面有什么区别.两者都将根据传递的比较器获取最大值.如果是这种情况,为什么我们需要使用 collect 方法进行收集的额外步骤?我们什么时候应该选择前者还是后者?适合同时使用两者的用例场景有哪些? 解决方案 ..
发布时间:2022-01-22 10:28:13 其他开发

为什么要在 Java Stream 接口中重载 varargs 方法 of()?

流 接口对方法 of() 有两个重载.其中一个是可变参数方法,而另一个采用单个参数. 与将一个参数传递给可变参数方法相比,单参数方法是一种性能优化吗?如果是这样,它如何提高性能?可以对 empty() 方法提出相同的问题,这似乎是可变参数 of() 周围的语法糖. 我发现这些方法的实现方式不同,区别显然在于 Spliterator 的实例化方式;但这对 Stream API 有什么好处 ..

如何编码 Stream.findNth()?

类似于Stream.findFirst(),有没有办法写Stream.findNth()? 我正在通过重写一些遗留代码来练习 Java 8.而且,我想知道如何使用 Stream API 编写以下函数. 静态 curPipeNumber = 0;/** skipToEntry() 将 'curPipeNumber' 更新为 'pipeNumber' 并返回第 ('pipeNumber') 管 ..
发布时间:2022-01-22 10:27:35 Java开发

具有 3 个参数的 Java8 stream.reduce() - 获得透明度

我编写这段代码是为了将单词列表减少为有多少单词以“A"开头的长计数.我只是为了学习 Java 8 而编写它,所以我想更好地理解它[免责声明:我意识到这可能不是编写此代码的最佳方式;这只是为了练习!]. Long countOfAWords = results.stream().reduce(0L,(a, b) ->b.charAt(0) == 'A' ?一+1:一,长::总和); 中间参数/l ..
发布时间:2022-01-22 10:27:00 Java开发

从一个长流创建流

我想根据 Streams 的内容将单个 Stream 拆分为 Streams 的 Stream.生成的 Stream 应该包含原始流数据的一部分. 我的实际应用程序更复杂(它将时间间隔列表内的日志行分组),但我的问题是如何处理流,所以在这里我问一个简化的例子. 示例问题 我希望能够根据重复的相同数字将 Stream 拆分为 Stream ..
发布时间:2022-01-22 10:26:39 Java开发

Java 流“forEach"但不消耗流

有时在处理流的步骤之间对流中的每个元素执行“某些操作"(例如打印)会很方便,例如用于调试. 一个简单的例子可能看起来像这样,不幸的是这不起作用,因为 forEach 消耗流: 列表list = new ArrayList();list.add("一个");list.add("两个");list.add("三");list.add("四");列表过滤列表 =list.stream( ..
发布时间:2022-01-22 10:26:24 Java开发

java 8中anyMatch和findAny的区别

我有一个 Array 并想对其元素执行一些匹配. 我知道在 java 8 中可以通过两种方式完成: String[] alphabet = new String[]{“A", “B", “C"}; 任意匹配: Arrays.stream(alphabet).anyMatch("A"::equalsIgnoreCase); findAny: Arrays.stream(alphabe ..
发布时间:2022-01-22 10:25:20 Java开发

java.util.stream.Stream<T>.sorted() 的大 O 复杂度

有谁知道java.util.stream.Stream.sorted()的时间复杂度是多少? 解决方案 嗯,sorted() 本身就是 O(1),因为它是一个不消耗流的中间操作,但只是简单地向管道添加一个操作. 一旦终端操作消耗了流,就会发生排序 它什么都不做 (O(1)),因为流知道元素已经排序(例如,因为它们来自 SortedSet) 或者流不是并行的,它委托给Ar ..
发布时间:2022-01-22 10:25:10 Java开发