Map集合.
Map集合
特点:
1.Map集合是以键值对的形式存储数据,集合中键不能重复,值可以重复
2.Map集合是根据键来取值 //一个键只能对应一个值,而一个值可以对应多个键.
Map<K,V> 接口: 双列集合的顶层接口 “k”代表键值 “v”代表值 //K,V的类型可以一致,也可以不一致 比如<String,String> <String,integer>
Map集合中常用方法:
map.put(k,v) 把指定的键与指定的值添加到Map集合中,增加和修改元素.
map.remove(Object key):把指定的键所对应的键值对元素在Map集合中删除,返回被删除元素的值。
map.get(Object key) 根据指定的键,在Map集合中获取对应的值。
Set<K> keySet()获取Map集合中所有的键,存储到Set集合中。
Collection<V> values() 返回此Map集合中包含的值的Collection集合,获取所有的值
Set<Map.Entry<K,V>> entrySet(): 获取到Map集合中所有的键值对对象的集合(Set集合)。(获取所有一对对键值对的对象)
Map集合的实现类: 键都是唯一的,值是可以重复的
HashMap:存储数据采用的哈希表结构,元素的存取顺序不能保证一致。
由于要保证键的唯一、不重复,所以键所属的类型需要重写hashCode()方法、equals()方法。
LinkedHashMap:存储数据采用的哈希表结构+链表结构。通过链表结构可以保证元素的存取顺序一致;
通过哈希表结构可以保证的键的唯一、不重复,所以键所属的类型需要重写hashCode()方法、equals()方法。
TreeMap: 可以按照键的顺序进行排序
HashSet集合由于存储数据采用的是哈希表结构,所以是由哈希表结构保证元素唯一
HashMap集合只要求键唯一,而HashMap存储数据采用的也是哈希表结构,所以哈希表可以保证键的唯一
注意:
1.使用put(K k,V v)方法添加键值对,如果添加的的键在map集合中存在了,那么就返回被替换的值,如果添加的键在map集合中不存在
那么就返回null
2.使用put(K k,V v)方法添加键值对,如果添加的键在map集合中存在了,那么就会覆盖之前的键值对,
如果添加的键不存在,那么就直接存储