java-8相关内容

如何编码 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开发

如何使用 java8 通过谓词对列表进行分区?

我有一个列表 a 我想将其拆分为几个小列表. 说出所有包含“aaa"的项目,所有包含“bbb"和一些谓词的项目. 如何使用 java8 做到这一点? 我看到了这个 post,但它只分成 2 个列表. public void partition_list_java8() {谓词startWithS = p ->p.toLowerCase().startsWith("s" ..
发布时间:2022-01-22 10:24:47 Java开发

为什么发出终端操作后 Java close() 不流式传输?

看完https://www.airpair.com/java/posts/spring-streams-memory-efficiency,我很想将结果从数据库中流出,但正如我与一位同事讨论的那样(cfr. 他在该文章中添加的评论),需要记住使用 try-with-resources构造以避免任何内存泄漏. 为什么 Java 8 库在每次 终端操作(无需将流实例包装在 try-with-re ..
发布时间:2022-01-22 10:23:39 Java开发

Java 8 Stream:groupingBy 与多个收集器

我想使用 Java 8 Stream 并按一个分类器分组,但有多个收集器函数.因此,在分组时,例如计算一个字段(或可能是另一个字段)的平均值和总和. 我试着用一个例子来简化一下: public void test() {列出人=新的ArrayList();Persons.add(new Person("Person One", 1, 18));Persons.add(new P ..
发布时间:2022-01-22 10:23:14 Java开发

Java 8 Stream - 如何返回用要查找的项目列表替换字符串内容

我希望使用 java8 .stream() 替换下面的代码或 .foreach().但是我在执行此操作时遇到了麻烦. 这可能很容易,但我正在寻找一种思考斗争的实用方法:) 我可以迭代,没问题,但由于可变性问题,返回修改后的字符串是问题. 有人有什么想法吗? 列表toRemove = Arrays.asList("1", "2", "3");字符串文本 = "你好 1 2 3"; ..
发布时间:2022-01-22 10:23:04 Java开发

使用 Stream 避免 NoSuchElementException

我有以下 Stream: 流流 = 流();T 结果 = stream.filter(t -> {双 x = getX(t);双 y = getY(t);返回(x == tx && y == ty);}).findFirst().get();返回结果; 但是,并不总是有结果给我以下错误: NoSuchElementException:不存在值 那么如果没有值,我该如何返回 n ..
发布时间:2022-01-22 10:22:09 Java开发