【发布时间】:2020-04-14 12:35:55
【问题描述】:
如何使用 java 流和 lambda 重写下面的嵌套 for 循环?
for (String taskInit : initialTaskStatus.keySet()) {
for (String taskFin : finalTaskStatus.keySet()) {
if (!(taskInit.equalsIgnoreCase(taskFin)))
continue;
else {
if (initialTaskStatus.get(taskInit).equalsIgnoreCase("COMPLETE") ||
initialTaskStatus.get(taskInit).equalsIgnoreCase("CANCELLED")) {
//Do something (1)
} else if (initialTaskStatus.get(taskInit).equalsIgnoreCase("IN_PROGRESS")) {
//Do something (2)
}
}
}
}
【问题讨论】:
-
为什么必须用流重写?
-
除了主要问题:为什么
if (!condition){ continue; }else{ someJob(); }而不是if(condition){ someJob(); }在你的情况下相当于if(condition){ someJob(); }else{ continue; }因为除了if内部循环之外没有其他代码?
标签: java java-8 java-stream