hashmap遍歷刪除的方法是什么

小億
118
2024-01-19 13:58:14
欄目: 編程語言

HashMap的遍歷刪除方法有以下幾種:

  1. 使用Iterator迭代器進(jìn)行遍歷刪除:
Iterator<Map.Entry<K, V>> iterator = map.entrySet().iterator();
while (iterator.hasNext()) {
    Map.Entry<K, V> entry = iterator.next();
    if (需要?jiǎng)h除的條件) {
        iterator.remove();
    }
}
  1. 使用forEach方法進(jìn)行遍歷刪除(Java 8及以上版本):
map.entrySet().removeIf(entry -> 需要?jiǎng)h除的條件);
  1. 使用for-each循環(huán)遍歷刪除(不推薦,因?yàn)樵诒闅v的同時(shí)刪除會(huì)導(dǎo)致ConcurrentModificationException異常):
for (Map.Entry<K, V> entry : map.entrySet()) {
    if (需要?jiǎng)h除的條件) {
        map.remove(entry.getKey());
    }
}

其中,第一種和第二種方法是比較常用的,推薦使用。在遍歷刪除時(shí),需要注意不要直接使用map的remove方法,而是通過迭代器或者removeIf方法來刪除元素,以避免ConcurrentModificationException異常。

0