java - 转换列表> 流式传输>
问题描述
要求:请考虑一个生成List<List<String>>
和返回相同的函数。
所以在 Java 1.7 中,这可以被认为是:
public List<List<String> function(){
List<List<String>> outList = new ArrayList<>();
List<String> inList = new ArrayList<>();
inList.add("ABC");
inList.add("DEF");
outList.add(inList);
outList.add(inList);
return outList;
}
现在在 Java 8 中,提供给我的函数的签名是:
public Stream<Stream<String>> function() {
List<List<String>> outList = new ArrayList<>();
List<String> inList = new ArrayList<>();
inList.add("ABC");
inList.add("DEF");
outList.add(inList);
outList.add(inList);
//How to convert the outList into Stream<Stream<String>> and return.
}
如何转换List<List<String>>
成Stream<Stream<String>>
.
解决方案
如何转换
List<List<String>>
为Stream<Stream<String>>
:
你只需要这个:
return outList.stream()
.map(List::stream);
或者不使用列表的另一种方式,您可以使用:
public Stream<Stream<String>> function() {
Stream<String> inList = Stream.of("ABC", "DEF");
return Stream.of(inList, inList);
}
推荐阅读
- google-apps-script - 我的 iframe 在已发布的 Web 应用程序/侧边栏中在哪里?
- c# - WPF 字段验证
- python - 出现语法错误时如何防止flask docker容器退出?
- javascript - 未捕获的类型错误:更新状态时无法分配给只读属性
- django - 有没有办法让 URL 只能通过同一来源访问
- tensorflow - 在 IONIC 上的 Android Projetct 注册表中找不到后端
- java - 在 selenium webdriver 中,实际文本是“Indian”,但 element.getText() 正在获取“Indian”
- c++ - 如何以编程方式禁用/启用 CMFCTasksPane 中的任务而不完全隐藏它们?
- java - how to send multiple ArrayList from a Servlet to JSP without using JSTL
- python - NameError: name 'price' is not defined