java-8相关内容

Java - Stream - 收集每 N 个元素

我正在尝试学习 java - 流.我能够做简单的迭代/过滤/映射/收集等. 当我尝试收集每 3 个元素并按此示例中所示打印时,[收集每 3 个元素并打印等等...] 列表list = Arrays.asList("a","b","c","d","e","f","g","h","i","j");整数计数=0;字符串附加="";for(字符串 l:列表){如果(计数> 2){System.o ..
发布时间:2022-01-22 10:50:02 Java开发

Java Collectors.groupingBy()---List 是有序的吗?

对于返回 Map> 的 Collectors.groupingBy() 是否暗示 Listcode> 是为了评估流吗? 我没有看到列表排序的明确描述,而并发版本明确声明没有排序.如果它不是以某种方式订购的,我希望它是一个集合,我看不出它可能是什么其他订购,除了收到的订单. 我希望可以保证每个列表中的最后一个值是该组收到的最后一个值. 解决方案 grou ..
发布时间:2022-01-22 10:49:56 Java开发

java.util.stream.Streamable 发生了什么?

早期jdk8-ea javadocs 像这样 表示有一个 java.util.stream.Streamable 接口,它与 Stream 的关系似乎与 Iterable 相同必须有一个 Iterator. 现在我们似乎被 Supplier 困住了,这肯定是不一样的. Streamable 发生了什么? 解决方案 前段时间已下架.理由 删除由 Brian Goetz 给出: ..
发布时间:2022-01-22 10:49:48 Java开发

用于 int 范围的 Java 8 IntStream?

有没有办法为一系列整数创建一个 IntStream? 如果我想流式传输值 1 到 1000,我可以调用一些 IntStream 静态工厂来流式传输该范围? IntStream.forRange(1, 1000).forEach(//做点什么... 解决方案 算了,看了好几遍都不知道为什么API文档里漏掉了…… IntStream.range(1,1000) ..
发布时间:2022-01-22 10:49:26 Java开发

从流中获取最后 n 个元素

我想知道有没有替代方法 列表lastN = all.subList(Math.max(0, all.size() - n), all.size()); 使用 流a> 用法? 解决方案 自定义收集器可以这样写: 公共静态收集器>最后N(int n){返回收集器., List>of(ArrayDeque::new, ( ..
发布时间:2022-01-22 10:49:16 Java开发

Files.lines 在 Java8 中跳过断行

我正在使用 Files.lines(...) 读取一个非常大 (500mb) 的文件.它读取文件的一部分,但在某些时候它会因 java.io.UncheckedIOException: java.nio.charset.MalformedInputException: Input length = 1 而中断 我认为该文件有不同字符集的行.有没有办法跳过这些断线?我知道返回的流由 Reader ..
发布时间:2022-01-22 10:48:52 Java开发

从java 8中的并行流中收集

我想接受一个输入并在其上应用并行流,然后我想输出为列表.输入可以是我们可以应用流的任何列表或任何集合. 我担心的是,如果我们想要输出作为映射它们,我们有一个来自 java 的选项,就像 list.parallelStream().collect(Collectors.toConcurrentMap(args)) 但是我看不到以线程安全的方式从并行流中收集以提供列表作为输出的选项.我在那里 ..
发布时间:2022-01-22 10:48:22 Java开发

Java 8 根据条件应用流过滤器

在 Java 8 中,有没有办法根据条件在流上应用过滤器, 例子 我有这个直播 if (isAccessDisplayEnabled) {src = (List ) sourceMeta.getAllSources.parallelStream().filter(k - > isAccessDisplayEnabled((Source) k)).filter(k ..
发布时间:2022-01-22 10:48:09 Java开发

如何使用 Java 8 流查找较大值之前的所有值?

用例 通过在工作中发布的一些编码 Katas,我偶然发现了这个我不知道如何解决的问题. 使用 Java 8 Streams,给定一个正整数列表,生成一个整数在较大值之前的整数列表. [10, 1, 15, 30, 2, 6] 上述输入将产生: [1, 15, 2] 因为 1 在 15 之前,15 在 30 之前,2 在 6 之前. 非流式解决方案 public List ..
发布时间:2022-01-22 10:48:02 Java开发

如何使用 Collectors.groupingBy 创建嵌套地图?

我有一个类列表说 ProductDto 公共类 ProductDto {私有字符串 ID;私有字符串状态;私人布克订户;私有字符串类别;私有字符串类型;} 我想要一张如下图:- 地图> 属性映射如下: 地图 我知道使用 Collectors.groupingBy 可以轻松完成一级分组,没有任何麻烦. 我尝试将它用于嵌套级别,但是当作为键的字段开始出现相同的值时,它 ..
发布时间:2022-01-22 10:47:45 Java开发

Java 8 中嵌套映射的递归展平值

给定一个 Map,其中的值是 String 或另一个 Map,如何有人会使用 Java 8 将地图展平为单个值列表吗? 例子: Map - “key1" ->“价值1"-“key2"->“价值2"-“key3"->地图-“key3.1"->“价值3.1"-“key3.2"->“价值3.2"-“key3.3"->地图-“key3.3.1"->“价值3.3.1"-“key3.3.2"->“价值 ..
发布时间:2022-01-22 10:47:38 Java开发