4 回答
TA贡献1831条经验 获得超4个赞
以下是类中 和 在类中的实现:size()isEmpty()HashMap
public int size() {
return size;
}
public boolean isEmpty() {
return size == 0;
}
因此,只需检查返回的相同变量即可。它主要只是一种方便的方法。您可能希望使用手动比较大小的一个原因是,前者可以更清楚地了解您的代码实际检查的内容。HashMap#isEmpty()sizesize()isEmpty()
TA贡献1820条经验 获得超2个赞
首先对对象进行空检查,然后检查以避免Map
Empty
NullPointerException
if(map != null && !map.isEmpty())
TA贡献1943条经验 获得超7个赞
map.size()是O(1),而复杂度也是一样的,所以从复杂度和执行点来看,它们之间基本上没有区别。map.isEmpty()
如果你仔细看看
public boolean isEmpty() {
return size == 0;
}
它什么都不做,只是返回大小==0;
其他偏爱的原因可能是:.isEmpty().size()
它更具表现力(代码更易于阅读和维护)
仅供参考,在处理集合时,与map.isEmpty()相比具有各种优势,就像您可以稍后不执行以下操作一样。map.size()map.size()
String str = "abcd";
Map<Integer,String> map = new HashMap<>();
String[] strings = str.split("");
for(String s: strings) {
map.put(map.size(), s);
}
TA贡献1788条经验 获得超4个赞
map.size() == 0
等于 。例如,IntelliJ IDEA具有始终使用的检查而不是。map.isEmpty()
isEmpty()
size() == 0
添加回答
举报