您的位置:

如何判断map为空?

一、判断map为空或者为null

Map是Java中一种常用的键值对数据结构,若非空则可以进行各种操作。判断Map是否为空,首先需要考虑的是它是否为null。通过以下代码可以判断一个Map是否为空或null:

Map<String, String> map = null; // 对于null的Map
if (map == null || map.isEmpty()) {
    System.out.println("map为空");
}

或者使用Java8中的Optional类:

Map<String, String> map = null;
Optional<Map<String, String>> optional = Optional.ofNullable(map);
if (optional.isPresent() && optional.get().isEmpty()) {
    System.out.println("map为空");
}

二、判断map不为空

有时候我们需要判断Map是否非空,这时可以通过以下代码实现:

Map<String, String> map = new HashMap<>();
if (map != null && !map.isEmpty()) {
    System.out.println("map不为空");
}

三、判断map为空的工具类

为了方便使用,可以将判断Map是否为空的逻辑封装成工具类:

public class MapUtils {
    public static <K, V> boolean isEmpty(Map<K, V> map) {
        return map == null || map.isEmpty();
    }

    public static <K, V> boolean isNotEmpty(Map<K, V> map) {
        return !isEmpty(map);
    }
}

这样,在使用的时候只需要调用MapUtils.isEmpty()或MapUtils.isNotEmpty()方法即可:

Map<String, String> map = null;
if (MapUtils.isEmpty(map)) {
    System.out.println("map为空");
}

四、map判断为空的方法

除了上述的方法外,Java Map本身也提供了判断Map是否为空的方法,即isEmpty(),代码如下:

Map<String, String> map = null;
if (map == null || map.isEmpty()) {
    System.out.println("map为空");
}

五、判断map集合是否为空

如果要判断一个Map集合是否为空,需要遍历所有的Map,类似如下:

Map<String, List<String>> mapList = new HashMap<>();
boolean flag = true;
for (Map.Entry<String, List<String>> entry : mapList.entrySet()) {
    if (entry.getValue() != null && !entry.getValue().isEmpty()) {
        flag = false;
        break;
    }
}
if (flag) {
    System.out.println("map集合为空");
}

六、判断dataframe为空

如果要判断DataFrame是否为空,可以使用Spark SQL中的DataFrame API,则可以使用以下方法:

Dataset<Row> df = ...;
df.rdd().isEmpty();

七、判断map是否为空

Map中的元素可能为空,也需要一并判断。一种方式是遍历所有元素:

Map<String, String> map = new HashMap<>();
if (map != null) {
    for (Map.Entry<String, String> entry : map.entrySet()) {
        String key = entry.getKey();
        String value = entry.getValue();
        if (key == null || value == null || key.isEmpty() || value.isEmpty()) {
            System.out.println("map中包含空值");
            break;
        }
    }
}

八、map判断是否为空

Map中的元素可能为空,也需要一并判断。一种方式是遍历所有元素:

Map<String, String> map = new HashMap<>();
boolean flag = true;
if (map != null) {
    for (Map.Entry<String, String> entry : map.entrySet()) {
        String key = entry.getKey();
        String value = entry.getValue();
        if (key == null || value == null || key.isEmpty() || value.isEmpty()) {
            flag = false;
            break;
        }
    }
}
if (flag) {
    System.out.println("map不为空");
}

九、判断hashmap是否为空

Map中最常用的是HashMap,可以单独对它进行判断:

Map<String, String> map = new HashMap<>();
if (map == null || map.size() == 0) {
    System.out.println("map为空");
}

总结

本文介绍了多种判断Map是否为空的方法,对于Java开发中的数据处理尤为常见,希望可以帮助到各位开发者。