溫馨提示×

hashmap的遍歷中如何優雅刪除元素

小樊
116
2024-07-11 18:48:36
欄目: 編程語言

在遍歷HashMap時,不能直接對HashMap進行刪除操作,因為這會導致ConcurrentModificationException異常。因此,通常需要借助一個臨時的集合來保存需要刪除的元素的key,待遍歷完成后再進行刪除操作。

以下是一種優雅的方法來刪除HashMap中的元素:

Map<Integer, String> map = new HashMap<>();
map.put(1, "apple");
map.put(2, "banana");
map.put(3, "orange");

List<Integer> keysToRemove = new ArrayList<>();

for (Integer key : map.keySet()) {
    if (條件滿足) {
        keysToRemove.add(key);
    }
}

for (Integer key : keysToRemove) {
    map.remove(key);
}

在第一個循環中,我們遍歷HashMap的key集合,并根據需要刪除的條件將需要刪除的key保存在一個臨時的集合中。在第二個循環中,我們再遍歷臨時集合,逐個刪除HashMap中對應的元素。

這樣可以避免ConcurrentModificationException異常,同時實現了優雅地刪除HashMap中的元素。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女