Java中Map集合_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > Java中Map集合

Java中Map集合

 2018/10/11 18:37:30  andrew7676  程序员俱乐部  我要评论(0)
  • 摘要:1.Java中Map集合1.Map中value可以重复,key不能重复。对于重复的key值来说,后放置的值对覆盖前放置的值。importjava.util.HashMap;publicclassMapTest1{publicstaticvoidmain(String[]args){HashMapmap=newHashMap();map.put("a","zhangsan");map.put("b","lisi");map.put("c","wangwu");map.put("a"
  • 标签:Map Java
1. Java中Map集合
class="java" name="code">
1. Map中value可以重复,key不能重复。对于重复的key值来说,后放置的值对覆盖前放置的值。
import java.util.HashMap;
public class MapTest1{
    public static void main(String[] args){
        HashMap map = new HashMap();
        map.put("a", "zhangsan");
        map.put("b", "lisi");
        map.put("c", "wangwu");
        map.put("a", "zhaoliu");
        System.out.println(map);
        String value = (String)map.get("b");
        System.out.println(value);
        System.out.println("--------------");
        String value2 = (String)map.get("d");
        System.out.println(value2);
    }
}
运行结果:
{b=lisi, c=wangwu, a=zhaoliu}
lisi
--------------
null

2. Map的entrySet()方法会返回map集合
   Map的keySet()方法会返回key的集合,因为Map的键是不能重复的,因此keySet()方法的返回类型是Set;
   Map的value是可以重复的,因此values()方法的返回类型是Collection,可以容纳重复的元素。
public class MapTest2{
    public static void main(String[] args){
        HashMap map = new HashMap();
        String str = new String("zhangsan");
        map.put("a", str);
        map.put("a", str);
        System.out.println(map);
    }
}
运行结果:
{a=zhangsan}

3. 使用内部类Map.Entry来遍历Map
    for (Map.Entry<String, String> entry : map.entrySet()) {
        System.out.println(entry.getKey() + " :" + entry.getValue());
    }
import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;
public class MapTest3{
    public static void main(String[] args){
        HashMap map = new HashMap();
        map.put("a", "aa");
        map.put("b", "bb");
        map.put("c", "cc");
        map.put("d", "dd");
        map.put("e", "ee");
        Set set = map.keySet();
        for(Iterator iter = set.iterator(); iter.hasNext();){
            String key = (String)iter.next();
            String value = (String)map.get(key);
            System.out.println(key + "=" + value);
        }
    }
}
运行结果:
d=dd
e=ee
b=bb
c=cc
a=aa

4. 遍历map方式性能
   1) 增强for循环使用方便,但性能较差,不适合处理超大量级的数据。
   2) 迭代器的遍历速度要比增强for循环快很多,是增强for循环的2倍左右。
   3) 使用entrySet遍历的速度要比keySet快很多,是keySet的1.5倍左右。


推荐博客:
https://www.cnblogs.com/lzq198754/p/5780165.html
https://blog.csdn.net/casularm/article/details/164877
上一篇: Java中iterator迭代器 下一篇: 没有下一篇了!
发表评论
用户名: 匿名