java - 任何人都可以帮助转换为 lambda 表达式吗?
问题描述
我想用 lambda 转换 for 循环。
我只是想得到错误的结果,请帮助转换为 lambda 表达式,谢谢。
地图结构看起来像这个内容看起来像 `{"success":"false","msg":"I got error"}`
List<Future<Map<String, Object>>> tfFuture = lists.stream().map(i -> service.submit(new what(i))).collect(Collectors.toList());
for(int i=0;i<tfFuture.size();i++){
if(tfFuture.get(i).get().get("success").equals(Boolean.FALSE)){
break;
}
return tfFuture.get(i).get();
}
我只想得到错误的结果
{"success":"false","msg":"I got error"}
解决方案
您可以使用filter()
andfindFirst()
并且不需要将任何一个收集到 List 中:
return
lists
.stream()
.map(i -> service.submit(new what(i)))
.map(Future::get)
.filter(m -> m.get("success").equals(Boolean.FALSE))
.findFirst().mapping(m-> m.get("success") + ":" + m.get("msg"))
.orElse(null);
如果没有匹配,我在这里返回 null 作为默认值。
推荐阅读
- python - 启动烧瓶应用程序阻塞 Joiner 线程以从队列中获取数据
- reactjs - 使用 Spotify API 显示用户顶级艺术家
- c# - Winforms中如何拆分文本框
- reactjs - 在 ReactJS PWA 中扫描信用卡信息
- java - org.json.JSONException: JSONObject["userId"] 未找到。.JSONException
- mongodb - Amazon DynamoDB 在网络分区期间选择一致性。亚马逊文档数据库有什么作用?
- arrays - 如何取 2 列,一列用于名称,一列用于值,并吐出每个唯一名称的唯一数量?然后列个清单
- javascript - Highcharts 股票图表未显示自定义数据
- visual-studio-2019 - 如何在 Visual Studio 2019 中更改分析文件输出位置?
- python - 连接的位于基本路径组件之外