黑马程序员技术交流社区

标题: 关于集合的迭代 [打印本页]

作者: 黑马不黑    时间: 2014-1-13 10:09
标题: 关于集合的迭代
一般对集合Set、List的迭代方法有继承Iterator类、Enumeration、foreache,是不是所有的集合都可以用这三个方法啊?Verctor集合呢?还有Map是不是比较特殊啊?

作者: xu6148152    时间: 2014-1-13 10:13
本帖最后由 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. }
复制代码











欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2