概述
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
import java.util.HashMap;
import java.util.Set;
import java.util.Iterator;
import java.util.Map;
/**
*
* @author fuzuotao
*/
public class TestMap {
/* 在遍历Map过程中,不能用map.put(key,value),map.remove(key)来修改和删除元素, 会引发并发修改异常*/
public static void main(String[] args)
{
HashMap<String, String> test_map = new HashMap<String, String>();
test_map.put("1", "test1");
test_map.put("2", "test2");
test_map.put("3", "test3");
test_map.put("4", "test4");
Set mapset = test_map.entrySet();
Iterator iterator = mapset.iterator();
while(iterator.hasNext())
{
Map.Entry mapentry = (Map.Entry)iterator.next();
String key = mapentry.getKey().toString();
String value = mapentry.getValue().toString();
System.out.printf("key: %s value:%srn", key, value);
}
System.out.printf("***************deleting************rn");
Iterator<Map.Entry<String, String>> it = test_map.entrySet().iterator();
while(it.hasNext())
{
Map.Entry<String, String> entry= it.next();
String key= entry.getKey();
int k = Integer.parseInt(key);
if(k%2==1)
{
System.out.printf("delete key:%s value:%srn", key, entry.getValue());
it.remove(); //OK
}
}
System.out.printf("***************result************rn");
iterator = mapset.iterator();
while(iterator.hasNext())
{
Map.Entry mapentry = (Map.Entry)iterator.next();
String key = mapentry.getKey().toString();
String value = mapentry.getValue().toString();
System.out.printf("key: %s value:%srn", key, value);
}
}
}
最后
以上就是寒冷便当为你收集整理的java 遍历map时删除元素的全部内容,希望文章能够帮你解决java 遍历map时删除元素所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复