Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1774520
  • 博文数量: 198
  • 博客积分: 4088
  • 博客等级: 上校
  • 技术积分: 2391
  • 用 户 组: 普通用户
  • 注册时间: 2011-05-15 16:29
个人简介

游戏开发,系统架构; 博客迁移到:http://www.jianshu.com/u/3ac0504b3b8c

文章分类

全部博文(198)

文章存档

2017年(1)

2016年(12)

2015年(1)

2014年(3)

2013年(13)

2012年(18)

2011年(150)

分类: Java

2012-08-09 09:39:03


  1. /*
  2.  * To change this template, choose Tools | Templates
  3.  * and open the template in the editor.
  4.  */
  5. import java.util.HashMap;
  6. import java.util.Set;
  7. import java.util.Iterator;
  8. import java.util.Map;

  9. /**
  10.  *
  11.  * @author fuzuotao
  12.  */
  13. public class TestMap {
  14.     
  15.     /* 在遍历Map过程中,不能用map.put(key,value),map.remove(key)来修改和删除元素, 会引发并发修改异常*/
  16.     
  17.     public static void main(String[] args)
  18.     {
  19.         HashMap<String, String> test_map = new HashMap<String, String>();
  20.         test_map.put("1", "test1");
  21.         test_map.put("2", "test2");
  22.         test_map.put("3", "test3");
  23.         test_map.put("4", "test4");
  24.         
  25.         Set mapset = test_map.entrySet();
  26.         Iterator iterator = mapset.iterator();
  27.         while(iterator.hasNext())
  28.         {
  29.             Map.Entry mapentry = (Map.Entry)iterator.next();

  30.             String key = mapentry.getKey().toString();
  31.             String value = mapentry.getValue().toString();
  32.             
  33.             System.out.printf("key: %s value:%s\r\n", key, value);

  34.         }
  35.         
  36.         System.out.printf("***************deleting************\r\n");
  37.         
  38.         Iterator<Map.Entry<String, String>> it = test_map.entrySet().iterator();
  39.         while(it.hasNext())
  40.         {
  41.             Map.Entry<String, String> entry= it.next();
  42.             String key= entry.getKey();
  43.             int k = Integer.parseInt(key);
  44.             if(k%2==1)
  45.             {
  46.                 System.out.printf("delete key:%s value:%s\r\n", key, entry.getValue());
  47.                 it.remove(); //OK

  48.             }
  49.         }
  50.         
  51.         System.out.printf("***************result************\r\n");
  52.         
  53.         iterator = mapset.iterator();
  54.        
  55.         while(iterator.hasNext())
  56.         {
  57.             Map.Entry mapentry = (Map.Entry)iterator.next();
  58.             String key = mapentry.getKey().toString();
  59.             String value = mapentry.getValue().toString();
  60.             
  61.             System.out.printf("key: %s value:%s\r\n", key, value);

  62.         }
  63.         
  64.     }
  65. }


阅读(6723) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~