Map集合遍历

    Map接口的实现类有HashMapTreeMap等,底层分别使用哈希表和二叉树来实现存储。HashMap 散列图、Hashtable 散列表是按“有利于随机查找的散列(hash)的顺序”。并非按输入顺序。遍历时只能全部输出,而没有顺序。若想要有顺序可以用LinkedHashMap

    此容器中存储的键-值对通过键来标识,所以键不能重复。可以将它看成有三个视图:键集、值集合(不是集)和键值对集。键和键值对形成了一个集,这是因为在映射表中一个键只能有一个副本。下列方法将返回这3个视图:

Set<K> keyset();

Colletion<K> values();

Set<Map.Entry<K,V>> entrySet();

对应Map集合的三种遍历方法:

public static voidmain(String[] args) {

     Map<Integer,String> map=newHashMap<Integer,String>();

     map.put(3,"A");

     map.put(5,"B");

     map.put(4,"E");

     map.put(2,"D");

     //第一种,得到左右key集合

     Set<Integer> keys=map.keySet();

     for(int i:keys){

       System.out.println("<"+i+""+map.get(i)+">");

     }

     //第二种,得到所有的values,不能遍历key

     Collection<String>values=map.values();

     for(String s:values){//也可以使用Iterator迭代器

       System.out.println("<"+s+">");

     }

     //第三种,得到所有的键值对

     for(Map.Entry<Integer,String>entry:map.entrySet()){

       System.out.println("<"+entry.getKey()+""+entry.getValue()+">");

     }

  }

参考资料:

http://wzkunna.blog.163.com/blog/static/206198283201251823843802/

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值