分享

MAP集合迭代器详解

 英昌知识汇聚馆 2011-11-21

import java.util.*;

public class IterateMap {

     public static void main(String[] args) {

          Map hm=new HashMap();

          hm.put(10001,"Tom");  hm.put(10003,"Jerry");

          hm.put(10002,"John"); hm.put(10004,"Lili");

          Set keySet=hm.keySet();         //获取Map的键集合         

          Iterator ii=keySet.iterator();      //获取键集合的迭代器

          while(ii.hasNext())  {

                    Object okey=ii.next();

                    Integer i=(Integer) okey; // 强制类型转换               

                    String s= (String) hm.get(okey); //通过键获取相应的值

                    System.out.println("键:"+i.intValue()

                         +",值:"+s+",值长度:"+s.length()+"");

          }         

        /*  Collection cvalue=hm.values(); //获取Map中所有值的Collection

          for(Object otemp:cvalue) { //for-each循环对所有值进行遍历          

                    String s=(String)otemp; //对引用进行强制类型转换

                    System.out.println("值:"+s+",值长度:"+s.length()+"");

          } */

          Collection cvalue = hm.values();//获取Map中所有值的Collection

          Iterator it = cvalue.iterator();//获取值集合的迭代器

          while(it.hasNext()){

                String s = (String)it.next();

                System.out.println("值:"+s+",值长度:"+s.length()+"");

          }

}

}

 

/**   

  /*

Set,List,Collection这三个接口中都有 iterator()方法。所以,在很多地方,都将它的子类或子结接赋给该三个接口。即父类(接口)子对象模式。//创建实现Collection接口的类的对象

Collection cset = new HashSet();

Collection clist = new ArrayList();

List list  = new ArrayList();

//获取迭代器

Iterator it1 = cset.iterator();

Iterator it2 = clist.iterator();

Iterator it3  = list.iterator;

这样就可以迭代出来一个一个的对象了。

  */

   

 
 

 

 

ArrayListHashMap是异步的,

VectorHashTable是同步的,

所以VectorHashTable是线程安全的,

ArrayListHashMap并不是线程安全的。

 

因为同步需要花费机器时间,所以VectorHashTable的执行效率要低于 ArrayListHashMap

Collection接口实现类层次

List       接口

LinkedList       链表

ArrayList         顺序结构动态数组类

Vector         向量

 └Stack      

Set

Map 接口实现类层次

       Map

Hashtable

HashMap

WeakHashMap List接口

 

 

 

 

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多