Map集合遍历

来源:互联网 发布:淘宝超级店长有什么用 编辑:程序博客网 时间:2024/05/16 06:06
 @Test
 public void testMap(){
  Map<String , String> map = new HashMap<String, String>();
  for(int i=0 ; i < 10 ; i++){
   map.put(String.valueOf(i), "test"+i);
  }
  /*
   * 遍历Map方法:使用增强的for循环
   * Map内部有自已的排序机制,从输出结果可以看出来
   * 输出的结果并不是添加时的顺序。
   *
   */
  for(String temp : map.keySet()){
   System.out.println(map.get(temp));
  }
  
  /*
   * 方法二:使用Iterator接口
   */
  for(Iterator iterator = map.keySet().iterator();iterator.hasNext();){
   System.out.println(map.get(iterator.next()));
  }
  
  /*
   * 方法三:使用iterator接口
   * 以下结果显示为key=value的格式
   */
  System.out.println("**************************");
  for(Iterator iterator = map.entrySet().iterator();iterator.hasNext();){
   System.out.println(iterator.next());
  }
  
  /*
   * 方法四:使用Iterator接口,但是可以输出key和value
   */
  for(Iterator iterator = map.entrySet().iterator();iterator.hasNext();){
   Map.Entry entry = (Entry) iterator.next();
   System.out.println(entry.getKey() + "  " + entry.getValue());
  }
  
  /*
   * 方法五:使用values()方法
   */
  for(Iterator iterator = map.values().iterator();iterator.hasNext();){
   //Map.Entry entry = (Entry) iterator.next();
   //System.out.println(entry.getValue());   //以上报错
   System.out.println(iterator.next());  //直接输出value,没有输出key
  }
  
  /*
   * 方法 六:使用values()方法输成Collection后,再使用增强的for循环。
   */
  System.out.println("####################################");
  for(String temp : map.values()){
   System.out.println(temp);
  }
 }  
原创粉丝点击