java学习之Map集合

来源:互联网 发布:gprs网络调试 编辑:程序博客网 时间:2024/05/18 09:26

Map集合:可以存储键值对的元素。将键映射到值的对象,一个映射不能包含重复的键,每个键最多只能映射到一个值。

Map集合和Collection集合的区别?

Map集合存储元素是成对出现的,Mao集合的键是唯一的,值是可重复的。可以把这个理解为:夫妻对

Collection集合存储元素是单独出现的。Collection的儿子Set是唯一的。List是可重复的。可以把这个理解为:光棍。

注意:

Map集合的数据结构值针对键有效,跟值无关

   Collection集合的数据结构是针对元素有效


Map集合功能:

1.添加

V put(K key,V value):添加元素。这个其实还有另一个功能:

如果键是第一次存储,就直接存储,返回null,如果键不是第一次存储,就用当前值替换以前的值,并返回以前的值。

2.删除

void clear():移除所有的键值对元素。

V remove(Object key):根据键删除键值对元素,并把值返回

3.判断

boolean containsKey(Object Key):判断集合是否包含指定的键

boolean containsValue(Objectvalue):判断集合是否包含指定的

4.获取

Set<Map.Entry<K,V>> entrySet():返回的是键值对对象

   V get(Object key):根据键获取值

   Set<K> keySet():获取集合中所有键的集合

   Collection<V> values():获取集合中所有值的集合

5.长度

int size():返回集合中的键值对对数。


HashMap:是基于哈希表的Map接口实现。

哈希表的作用是用来保证键的唯一性。

如果键的类型为String或者Integer等重写了hashCode和equals方法时,能保证键的唯一

如果键的类型为自定义对象时,必须对此对象重写hashCode和equals方法才能保证键的唯一。


LinkedHashMap:是Map接口的哈希表和链接列表实现,具有可预知的迭代顺序

由哈希表保证键的唯一性,由链表保证键的有序。(存储和取出顺序一致)


TreeMap类概述:键是红黑树结构,可以保证键的排序和唯一性。
实现键的空参Comparable接口,重写compareTo方法或者Comparator接口,重写compare方法。

0 0