JAVA-Map接口:HashMap的使用

来源:互联网 发布:mac 迅雷怎么断点下载 编辑:程序博客网 时间:2024/04/30 17:37


Map:存入键值对,同时要保证键的唯一性.
 |--HashMap:
 |--HashTable:
 |--TreeMap:
Map集合取出元素的原理:
 先将Map转成Set集合,然后对Set集合进行迭代.
 keySet:将所有的键取出放在Set集合中,在根据Set集合得到的key值取出value值.
 entrySet:将键值的关系取出存入Set集合,监制关系有自己的类型,为Map接口中定
   义的静态接口Map.Entry.可以通过getKey(),getValue()方法取值,

import java.util.*;
class HashMapDemo
{
 public static void main(String[] args)
 {
  HashMap<String,String>hm = newHashMap<String,String>();
  //hm.put("zhansan","chengdu1");  //不能存相同元素,取值以最后出现的元素为准.
  hm.put("zhansan","chengdu");
  hm.put("lisi","beijing");
  hm.put("wangwu","chongqing");
  hm.put("zhaoliu","jiangsu");

  System.out.println(hm.size());

  System.out.println("******keySet******");
  //取出元素的第一种方式;keySet()
  Set<String> st = hm.keySet();
  
  for(Iterator<String> it = st.iterator();it.hasNext(); )
  {
   String key =it.next();
   String value= hm.get(key);
   System.out.println(key+":"+value);
  }
  System.out.println("******entrySet******");
  //取出元素的第二种方式;entrySet().
  Set <Map.Entry<String, String>>entrySet = hm.entrySet();

  for (Iterator<Map.Entry <String,String>> it = entrySet.iterator();it.hasNext(); )
  {
   Map.Entry<String,String> me = it.next();
   String s =me.getKey();
   String v =me.getValue();
   System.out.println(s+":"+v);
  }

  System.out.println("******entrySet******");
  //不常用的values方法取值.
  Collection<String> cl = hm.values();
  for(Iterator<String> it = cl.iterator();it.hasNext(); )
  {
   System.out.println(it.next());
  }
 }
}

原创粉丝点击