判断hashmap有没有值
时间: 2023-08-20 20:08:48 浏览: 44
要判断一个HashMap是否有值,你可以使用HashMap的isEmpty()方法。该方法返回一个布尔值,如果HashMap中没有任何键值对,则返回true,否则返回false。
以下是一个示例代码:
```java
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
HashMap<String, Integer> hashMap = new HashMap<>();
System.out.println("HashMap是否为空:" + hashMap.isEmpty());
hashMap.put("key1", 1);
System.out.println("HashMap是否为空:" + hashMap.isEmpty());
}
}
```
输出结果:
```
HashMap是否为空:true
HashMap是否为空:false
```
在上面的例子中,首先创建了一个空的HashMap,然后使用isEmpty()方法判断是否为空,输出结果为true。接着往HashMap中添加了一个键值对,再次使用isEmpty()方法判断是否为空,输出结果为false。
相关问题
怎么判断两个hashmap值相等
判断两个HashMap的值是否相等,需要先判断它们的键是否相等,如果键相等,则判断对应的值是否相等。
以下是一个示例代码,演示了如何比较两个HashMap的值是否相等:
```java
import java.util.HashMap;
public class HashMapComparisonExample {
public static void main(String[] args) {
HashMap<Integer, String> map1 = new HashMap<>();
map1.put(1, "one");
map1.put(2, "two");
map1.put(3, "three");
HashMap<Integer, String> map2 = new HashMap<>();
map2.put(1, "one");
map2.put(2, "two");
map2.put(3, "three");
boolean isEquals = true;
// 首先判断两个HashMap的大小是否相等
if (map1.size() != map2.size()) {
isEquals = false;
} else {
// 遍历map1的键值对,逐一比较map2中的键值对
for (Integer key : map1.keySet()) {
if (!map2.containsKey(key)) {
isEquals = false;
break;
} else {
// 如果两个map中的键值对都存在且对应的值不相等,则认为两个map不相等
if (!map1.get(key).equals(map2.get(key))) {
isEquals = false;
break;
}
}
}
}
if (isEquals) {
System.out.println("两个HashMap的值相等");
} else {
System.out.println("两个HashMap的值不相等");
}
}
}
```
注意,HashMap的键必须实现hashCode()和equals()方法,否则HashMap的比较将不准确。
判断hashmap的key值是否为null或者空字符串
在Java中,可以使用以下代码来判断HashMap的key值是否为null或者空字符串:
```
if(key == null || key.equals("")) {
// key值为null或空字符串
// 执行相应的操作
}
```
其中,`key`是HashMap中的键值。我们可以先判断`key`是否为null,如果是,则直接判定为key值为空;如果不是,则再判断`key`是否为空字符串(即长度为0的字符串)。
需要注意的是,当使用`equals`方法比较字符串时,应该将常量字符串写在前面,以避免`key`为null时出现`NullPointerException`异常。