将Java-8流收集到Guava ImmutableList的最佳方法

阿梅特·肖巴尔

我想将流添加到不可变列表中。下列方法之间有什么区别,从性能角度来看哪种更好?

  1. collect( Collectors.collectingAndThen(Collectors.toList(), ImmutableList::copyOf));

  2. ImmutableList.copyOf( stream.iterator() );

  3. collect( Collector.of( ImmutableList.Builder<Path>::new, ImmutableList.Builder<Path>::add, (l, r) -> l.addAll(r.build()), ImmutableList.Builder<Path>::build) );

其他一些性能或效率参数,

  1. 列表/集合中可能有很多条目。

  2. 如果我想对集合进行排序,并使用".sorted()"带有自定义比较器的中间操作,该怎么办?

  3. 因此,如果我添加.parallel()到流中,该怎么办
路易斯·瓦瑟曼

我希望1)效率最高:通过额外的构建器看似可读性较低,并且不太可能胜过normal toList(),并且从迭代器进行复制会丢弃调整大小的信息。

(但是Guava正在努力增加对Java 8之类的支持,您可能会等待。)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将Java 8流收集到Guava ImmutableCollection中?

收集到使用Java 8流番石榴的ListMultiMap

Java8:按键将流收集到SortedMap中

在Java 8中使用Lambda将流收集到HashMap中

使用Java 8流将子对象收集到parentObjectId的哈希图

Java 8流中间映射/收集到具有2个值的流

有没有一种方法可以使用Java 8中的数据流将许多由特定字符描绘的多行字符串收集到Arraylist中?

使用Java 8流收集到增值基于现有的键/值对的

如何在Java 8中将流的结果收集到自定义对象的数组中

如何简洁地将流收集到地图?

使用单个流将多个属性收集到 Map

如何将流收集到列表?

将事实收集到事实缓存的最快方法

Java流将对象列表收集到存储桶

如何收集到地图中值形成一个列表时重复键在流,在Java 8

在集合上使用Java8流收集到HashSet中会导致“类型不匹配”错误

如何使用Java流将多个列表收集到一个列表中?

Java流将数组收集到一个列表中

Java流基于列的总和将Excel CSV收集到列表过滤

Java的8过滤+收集到列表中的NullPointerException

如何在Java 8中收集到LinkedHashMap

Java 8收集到Map <String,List <Object >>

使用Java 8的流和收集器将Collection到Map转换封装为一种方法

如何将 int 列表收集到 Java 8 中的条目列表

将Java8 IntStream收集到Deque接口中

我能收集到的最佳结果是“toFixed() 方法”

将流数据收集到角度应用程序中

无法将 Random int 流收集到 List 集合中

如何将流中的元素收集到队列中?