/*
* 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:%s\r\n", key, value);
}
System.out.printf("***************deleting************\r\n");
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:%s\r\n", key, entry.getValue());
it.remove(); //OK
}
}
System.out.printf("***************result************\r\n");
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:%s\r\n", key, value);
}
}
}
java 遍历map时删除元素
最新推荐文章于 2023-12-24 16:59:02 发布