Map与Collection在集合框架中属并列存在 Map存储的是键值对 Map存储元素使用put方法,Collection使用add方法 Map集合没有直接取出元素的方法,而是先转成Set集合,在通过迭代获取元素 Map集合中键要保证唯一性 也就是Collection是单列集合, Map 是双列集合。 总结: Map一次存一对元素, Collection 一次存一个。Map 的键不能重复,保证唯一。 Map 一次存入一对元素,是以键值对的形式存在.键与值存在映射关系.一定要保证键的唯一性. 双列集合 Map学习体系: ---| Map 接口 将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。 ---| HashMap 采用哈希表实现,所以无序 ---| TreeMap 可以对健进行排序 |
---|Hashtable:底层是哈希表数据结构,线程是同步的,不可以存入null键,null值。效率较低,被HashMap 替代。---|HashMap:底层是哈希表数据结构,线程是不同步的,可以存入null键,null值。要保证键的唯一性,需要覆盖hashCode方法,和equals方法。---| LinkedHashMap:该子类基于哈希表又融入了链表。可以Map集合进行增删提高效率。---|TreeMap:底层是二叉树数据结构。可以对map集合中的键进行排序。需要使用Comparable或者Comparator 进行比较排序。return 0,来判断键的唯一性。 |
常见方法 1、添加: 1、V put(K key, V value) (可以相同的key值,但是添加的value值会覆盖前面的,返回值是前一个,如果没有就返回null) 2、putAll(Map<? extends K,? extends V> m) 从指定映射中将所有映射关系复制到此映射中(可选操作)。2、删除 1、remove() 删除关联对象,指定key对象 2、clear() 清空集合对象3、获取 1:value get(key); 可以用于判断键是否存在的情况。当指定的键不存在的时候,返回的是null。 3、判断: 1、boolean isEmpty() 长度为0返回true否则false 2、boolean containsKey(Object key) 判断集合中是否包含指定的key3、boolean containsValue(Object value) 判断集合中是否包含指定的value4、长度:Int size() |
|