黑马程序员技术交流社区

标题: 集合Map(总结) [打印本页]

作者: zhoubinjian    时间: 2016-4-13 02:31
标题: 集合Map(总结)
集合Map:该集合存储键值时,是一对一对往里存的,而且要保证键的唯一性
        -1.添加
                put(K key,V value):如果出现添加时,相同的键,那么后添加的值会覆盖原有键对应值,并put方法会返回被覆盖的值;
                putAll(Map<?extends K,? entends V>m)
        -2.删除
                clear()
                remove(Object key)
        3.判断
                containsValue(Object value)
                containsKey(Object key)
                isEmpty()
        4.获取
                get(Object key):可以通过get方法的返回值来判断一个键是否存在,通过返回null来判断
                size()
                values()
                entrySet()
                keySet()

Map
   -Hashtable:底层是哈希表数据结构,不可以存入null键和null值,该集合是线                程同步的,jdk1.0 ,效率底。
   -HashMap:底层是哈希表数据结构,允许使用null键和null值,该集合是不同步的,jdk1.2 ,效率高
   -TreeMap:底层是二叉树数据结构,线程不同步,可以用于给map集合中的键进行排序

Map和Set很像,Set的底层就是使用了Map集合,


Map集合的两种取出方式:原理:将map集合转成set集合,再通过迭代器取出。
1.keySet():将map中所有的键存入到Set集合,因为set具备迭代器。
           所以可以迭代器方式取出所有的值,在根据get方法,获取每一个键对                应的值。
2.entrySet():将map集合中的映射关系存入到了set集合中,而这个关系的数据类型是:Map.Entry,通过getKey()获取对应的键,通过getValue()获取键对应的值。




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