我有一组私有方法用于一个类的主要公共方法(接收列表),这些方法将主要使用java 8经典流操作,如filter
,map
,count
e.t.c.我想知道如果在公共API中创建流单播并传递给其他方法而不是传递列表有任何性能优势或考虑因素,因为.stream()
被称为单播时间。Java 8 stream vs List
-4
A
回答
2
调用stream()
或任何中间操作实际上什么都不做,因为流由终端操作驱动。
因此,将内部流从一种方法传递到另一种方法并不坏IMO,可能会使代码更清洁。但不要从你的公开方法外部返回一个流,返回List
代替(PLZ阅读所提供的意见,可能无法适用于所有情况下)
而且认为情况下,申请filter
例如,然后收集到toList
然后再次流式传输过滤List
只有map
后来显然是一个不好的选择......你收集得太快了,所以不要连这样的方法连内部。
0
一般来说,最好问一下该方法实际需要什么。如果每次收到一个列表,都会将其设为流,请改用流(流可以来自列表以外的其他东西)。这增强了可移植性和可重用性,并让您的api消费者了解需求。
问你确切需要什么,没有别的,没有什么。
相关问题
- 1. Java 8 Stream,anyMatch
- 2. 关闭Java 8 Stream
- 3. Java 8 Stream主要方法
- 4. Akka Stream vs Spark Stream
- 5. 对Java 8 Stream进行分区
- 6. java 8用parallelStream和stream减少
- 7. Java 8 Stream - 编译器问题
- 8. Java 8 stream min不返回期望值
- 9. java 8 stream group by and summming double
- 10. 用StringBuilder收集Java 8 Int Stream
- 11. Java 8 Stream API收集器问题
- 12. 转换List <Staging <Importable>>转换为List <Staging <ImportableImpl >> with java 8 stream
- 13. Stream vs Raw Bytes
- 14. DataSet.WriteXml(Stream)vs DataSet.WriteXml(Path)
- 15. `gulp.src` vs`vinyl-source-stream`?
- 16. 概念:Channel vs Stream
- 17. Java 8 Functional VS Imperative方法
- 18. PHP 7 vs Java 8性能
- 19. 如何将以下代码转换为Java 8 Stream?
- 20. 在Java 8 Stream中设置一个布尔标志
- 21. Java 8 Lambda List to Map <Int,List <String>>
- 22. 如何处理Java 8 Stream中的异常?
- 23. DefaultModelBinder:IList vs List
- 24. IEnumerable vs List
- 25. 如何检查Java 8 Stream是否为空?
- 26. Java Stream Collectors.toList()不会编译
- 27. Java 8 stream for Map <String,Set <String>>
- 28. 如何将Stream方法分配给java 8中的函数?
- 29. Kafka Stream API vs Consumer API
- 30. 如何使用Java 8 Stream API从Java POJO获取多个属性?
请张贴代码而不是背诵应用程序! –
@ΦXocę웃Пepeúpaツ我没有看到代码中的1个公共方法和5个私有方法(200个与业务场景相关的行)将如何比声明更有用。有一个单一的4段,因此国际海事组织也不详细。 – jcrada