在Java中,可以使用迭代器来遍历和删除HashMap中的元素。下面是一个示例代码,演示了如何遍历HashMap并删除元素:
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
public class Main {
public static void main(String[] args) {
// 创建一个HashMap
Map<String, Integer> map = new HashMap<>();
map.put("A", 1);
map.put("B", 2);
map.put("C", 3);
map.put("D", 4);
// 使用迭代器遍历并删除元素
Iterator<Map.Entry<String, Integer>> iterator = map.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry<String, Integer> entry = iterator.next();
if (entry.getKey().equals("A")) {
iterator.remove(); // 删除元素
}
}
// 输出删除元素后的HashMap
for (Map.Entry<String, Integer> entry : map.entrySet()) {
System.out.println(entry.getKey() + ": " + entry.getValue());
}
}
}
以上代码中,我们使用entrySet()
方法获取一个包含HashMap中所有元素的Set集合,并使用迭代器进行遍历。在遍历过程中,当遇到待删除的元素时,我们使用迭代器的remove()
方法删除该元素。最后,我们再次遍历HashMap并输出剩余的元素。
注意:在遍历HashMap时使用迭代器进行删除操作是安全的,而使用普通的for-each循环进行删除操作是不安全的,会引发ConcurrentModificationException异常。
辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读: hashmap链表的扩容机制是怎样的