A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黑马不黑 中级黑马   /  2014-1-13 10:09  /  609 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

一般对集合Set、List的迭代方法有继承Iterator类、Enumeration、foreache,是不是所有的集合都可以用这三个方法啊?Verctor集合呢?还有Map是不是比较特殊啊?

评分

参与人数 1技术分 +1 收起 理由
ily521125 + 1 神马都是浮云

查看全部评分

1 个回复

倒序浏览
本帖最后由 xu6148152 于 2014-1-13 10:21 编辑

Iterator也是使用指针的思想,只不过更安全。vector可以用.。但是
“Vector非常类似ArrayList,都是继续List接口(List接口是继续Collection接口),但是Vector是同步的。由Vector创建的Iterator,虽然和ArrayList创建的Iterator是同一接口,但是,因为Vector是同步的,当一个Iterator被创建而且正在被使用,另一个线程改变了Vector的状态(例如,添加或删除了一些元素),这时调用Iterator的方法时将抛出ConcurrentModificationException,因此必须捕获该异常。”map的用法如下
  1. package test;

  2. import java.util.ArrayList;
  3. import java.util.Collection;
  4. import java.util.HashMap;
  5. import java.util.Iterator;
  6. import java.util.List;
  7. import java.util.ListIterator;
  8. import java.util.Map;
  9. import java.util.Set;
  10. import java.util.SortedSet;
  11. import java.util.TreeSet;


  12. public class test {
  13.     public static void main(String[] args)  {
  14.         Map<String,String> map=new HashMap<String,String>();
  15.         map.put("Zhukai","is_a_2HUO!");
  16.         map.put("LiJunDong","is_a_2HUO_too!");
  17.         map.put("WoZiji","is_not_2HUO!");
  18.         Set<Map.Entry<String, String>> allSet=map.entrySet();
  19.         
  20.         Iterator<Map.Entry<String, String>> iter=allSet.iterator();
  21.         while(iter.hasNext()){
  22.             Map.Entry<String, String> me=iter.next();
  23.             System.out.println(me.getKey()+ " "+me.getValue());
  24.         }
  25.         
  26.     }
  27. }
复制代码






评分

参与人数 1技术分 +1 收起 理由
ily521125 + 1 赞一个!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马