使用lambda表达式实现上述代码
时间: 2024-09-09 07:10:28 浏览: 40
C++ 中lambda表达式的编译器实现原理
如果你想要使用Java 8的Lambda表达式来简化上述代码,你可以这样做:
```java
import java.util.*;
import java.util.stream.*;
public class Main {
public static void main(String[] args) {
Map<String, String> map = new HashMap<>();
map.put("key1", "value1");
map.put("key2", "");
map.put("key3", "value3");
map.entrySet().stream()
.filter(entry -> entry.getValue() != null && !entry.getValue().isEmpty())
.forEach(entry -> System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue()));
}
}
```
这里,我们利用了`Stream API`,首先转换`entrySet()`为一个流(Stream),然后使用`filter()`函数筛选出值不为空的项,最后使用`forEach()`遍历并打印结果。
阅读全文