map过滤value为null的工具类
时间: 2024-02-27 19:55:20 浏览: 96
判断map对象是否为空等工具类
可以使用 Java 8 的 Stream API 来过滤 Map 中值为 null 的键值对,示例代码如下:
```java
import java.util.HashMap;
import java.util.Map;
import java.util.stream.Collectors;
public class MapUtil {
public static <K, V> Map<K, V> filterNullValues(Map<K, V> map) {
return map.entrySet()
.stream()
.filter(e -> e.getValue() != null)
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
}
}
```
在上述代码中,定义了一个 MapUtil 工具类,其中的 filterNullValues 方法用于过滤 Map 中值为 null 的键值对。该方法使用 Java 8 的 Stream API 将 Map 转换成一个流,然后使用 filter 方法过滤值为 null 的键值对,最后使用 collect 方法将过滤后的结果转换成 Map 对象并返回。
使用该工具类的示例如下:
```java
import java.util.HashMap;
import java.util.Map;
public class Main {
public static void main(String[] args) {
// 创建一个 Map 对象
Map<String, Object> map = new HashMap<>();
map.put("name", "张三");
map.put("age", 18);
map.put("address", null);
// 使用 MapUtil.filterNullValues 方法过滤值为 null 的键值对
Map<String, Object> filteredMap = MapUtil.filterNullValues(map);
// 输出过滤后的 Map 对象
System.out.println(filteredMap); // 输出:{name=张三, age=18}
}
}
```
在上述代码中,首先创建一个 Map 对象,其中包含了一个值为 null 的键值对。然后使用 MapUtil.filterNullValues 方法过滤值为 null 的键值对,并将过滤后的 Map 对象输出。最终输出的结果为 `{name=张三, age=18}`,值为 null 的键值对已经被过滤掉了。
阅读全文