4 回答

TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超4個贊
以下是類中 和 在類中的實(shí)現(xiàn):size()isEmpty()HashMap
public int size() {
return size;
}
public boolean isEmpty() {
return size == 0;
}
因此,只需檢查返回的相同變量即可。它主要只是一種方便的方法。您可能希望使用手動比較大小的一個原因是,前者可以更清楚地了解您的代碼實(shí)際檢查的內(nèi)容。HashMap#isEmpty()sizesize()isEmpty()

TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超3個贊
首先對對象進(jìn)行空檢查,然后檢查以避免Map
Empty
NullPointerException
if(map != null && !map.isEmpty())

TA貢獻(xiàn)1943條經(jīng)驗(yàn) 獲得超7個贊
map.size()是O(1),而復(fù)雜度也是一樣的,所以從復(fù)雜度和執(zhí)行點(diǎn)來看,它們之間基本上沒有區(qū)別。map.isEmpty()
如果你仔細(xì)看看
public boolean isEmpty() {
return size == 0;
}
它什么都不做,只是返回大小==0;
其他偏愛的原因可能是:.isEmpty().size()
它更具表現(xiàn)力(代碼更易于閱讀和維護(hù))
僅供參考,在處理集合時,與map.isEmpty()相比具有各種優(yōu)勢,就像您可以稍后不執(zhí)行以下操作一樣。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貢獻(xiàn)1788條經(jīng)驗(yàn) 獲得超4個贊
map.size() == 0
等于 。例如,IntelliJ IDEA具有始終使用的檢查而不是。map.isEmpty()
isEmpty()
size() == 0
添加回答
舉報