java-8相关内容
我有一个商品对象,它有两个属性:firstCategoryId 和 secondCategoryId.我有一个商品清单,我想获取所有类别 ID(包括 firstCategoryId 和 secondCategoryId). 我目前的解决方案是: 列表categoryIdList = goodsList.stream().map(g->g.getFirstCategoryId()).coll
..
基本上我会寻找一种避免使用 的方法 入口->entry.getValue 和 入口->entry.getKey 类似于 Map.forEach() 所做的. 如果我能找到一种方法来作为 map.stream().filter((k,v) -> )... 等等 这个接口好像叫BiConsumer.也许有一个转换器到 BiConsumer 或 Stream.generate()
..
我正在尝试学习 java - 流.我能够做简单的迭代/过滤/映射/收集等. 当我尝试收集每 3 个元素并按此示例中所示打印时,[收集每 3 个元素并打印等等...] 列表list = Arrays.asList("a","b","c","d","e","f","g","h","i","j");整数计数=0;字符串附加="";for(字符串 l:列表){如果(计数> 2){System.o
..
对于返回 Map> 的 Collectors.groupingBy() 是否暗示 Listcode> 是为了评估流吗? 我没有看到列表排序的明确描述,而并发版本明确声明没有排序.如果它不是以某种方式订购的,我希望它是一个集合,我看不出它可能是什么其他订购,除了收到的订单. 我希望可以保证每个列表中的最后一个值是该组收到的最后一个值. 解决方案 grou
..
早期jdk8-ea javadocs 像这样 表示有一个 java.util.stream.Streamable 接口,它与 Stream 的关系似乎与 Iterable 相同必须有一个 Iterator. 现在我们似乎被 Supplier 困住了,这肯定是不一样的. Streamable 发生了什么? 解决方案 前段时间已下架.理由 删除由 Brian Goetz 给出:
..
在 Java 8 中,Stream 类没有任何方法来包装 Iterable. 相反,我从 Iterable 获取 Spliterator,然后像这样从 StreamSupport 获取 Stream: 布尔并行=真;StreamSupport.stream(分离器(),并行).filter(Row::isEmpty).collect(Collectors.toList()).forEach
..
有没有办法为一系列整数创建一个 IntStream? 如果我想流式传输值 1 到 1000,我可以调用一些 IntStream 静态工厂来流式传输该范围? IntStream.forRange(1, 1000).forEach(//做点什么... 解决方案 算了,看了好几遍都不知道为什么API文档里漏掉了…… IntStream.range(1,1000)
..
我想知道有没有替代方法 列表lastN = all.subList(Math.max(0, all.size() - n), all.size()); 使用 流a> 用法? 解决方案 自定义收集器可以这样写: 公共静态收集器>最后N(int n){返回收集器., List>of(ArrayDeque::new, (
..
我正在使用 Files.lines(...) 读取一个非常大 (500mb) 的文件.它读取文件的一部分,但在某些时候它会因 java.io.UncheckedIOException: java.nio.charset.MalformedInputException: Input length = 1 而中断 我认为该文件有不同字符集的行.有没有办法跳过这些断线?我知道返回的流由 Reader
..
最近我更改了项目的 JDK 8 版本而不是 7 版本,现在我使用 Java 8 附带的新功能覆盖了一些代码片段. final Matcher mtr = Pattern.compile(regex).matcher(input);HashSetset = new HashSet() {{而 (mtr.find()) 添加(mtr.group().toLowerCase());}}; 如何使用
..
我有一个 List 并且想要一个 Guava Multimap 我们将 Foo 的每个标签分组集合getTags() 函数. 我使用的是 Java 8,因此 lambda 和方法引用很好/值得鼓励. 例如,如果我有: foo1, 标签=a,b,cfoo2,标签=c,dfoo3, 标签=a,c,e 我会得到一个 Multimap
..
我有一个这样的方法,我在 Streams 中使用递归: 私有静态列表convertToFlatList(列表成员列表){return memberList.stream().flatMap(i -> Stream.concat(Stream.of(i), convertToFlatList(i.getChildren()).stream())).collect(Collectors.toLis
..
我想接受一个输入并在其上应用并行流,然后我想输出为列表.输入可以是我们可以应用流的任何列表或任何集合. 我担心的是,如果我们想要输出作为映射它们,我们有一个来自 java 的选项,就像 list.parallelStream().collect(Collectors.toConcurrentMap(args)) 但是我看不到以线程安全的方式从并行流中收集以提供列表作为输出的选项.我在那里
..
我想从 Map 中提取一个 List (E 是随机的类)使用 stream(). 我想要一个使用 java 8 的流的简单单行方法. 到目前为止我所尝试的: HashMap>map = new HashMap();列出列表 = map.values();//不编译list = map.values().stream().collect(Collectors.toLis
..
在 Java 8 中,有没有办法根据条件在流上应用过滤器, 例子 我有这个直播 if (isAccessDisplayEnabled) {src = (List ) sourceMeta.getAllSources.parallelStream().filter(k - > isAccessDisplayEnabled((Source) k)).filter(k
..
用例 通过在工作中发布的一些编码 Katas,我偶然发现了这个我不知道如何解决的问题. 使用 Java 8 Streams,给定一个正整数列表,生成一个整数在较大值之前的整数列表. [10, 1, 15, 30, 2, 6] 上述输入将产生: [1, 15, 2] 因为 1 在 15 之前,15 在 30 之前,2 在 6 之前. 非流式解决方案 public List
..
我有一个类列表说 ProductDto 公共类 ProductDto {私有字符串 ID;私有字符串状态;私人布克订户;私有字符串类别;私有字符串类型;} 我想要一张如下图:- 地图> 属性映射如下: 地图 我知道使用 Collectors.groupingBy 可以轻松完成一级分组,没有任何麻烦. 我尝试将它用于嵌套级别,但是当作为键的字段开始出现相同的值时,它
..
给定一个 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"->“价值
..
..
我想将两个 Map 与 JAVA 8 Stream 合并: 地图>mapGlobal = new HashMap>();映射>mapAdded = new HashMap>(); 我尝试使用这个实现: mapGlobal = Stream.of(mapGlobal, mapAdded).flatMap(m -> m.entrySet().str
..