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
添加回答
舉報