Jai*_*Jai 1 java java-8 java-stream
我有Stream<SortedSet<String>>,而且我只想拥有一个Stream<String>. 我尝试使用flatMap()但它没有用,因为它不能平面 Sortedset 流。
String productName = "p1";
Set<Product> products = new HashSet<>();
products.add(new Product(productName));
Stream<SortedSet<String>> sortedSetStream = products.stream().map(p -> Util.getProductNames(p) );
Run Code Online (Sandbox Code Playgroud)
要从这些对象的集合流中获取所有对象的流,您需要展平集合。任何集合都可以转换为流:
Stream<SortedSet<String>> sortedSetStream = products.stream().map(p -> Util.getProductNames(p) );
Stream<String> ss = sortedSetStream.flatMap( s -> s.stream() );
Run Code Online (Sandbox Code Playgroud)
或(如果您更喜欢方法参考):
Stream<String> ss = sortedSetStream.flatMap( Collection::stream );
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
454 次 |
| 最近记录: |