1 map集合概述
(1)Map属于双列集合,存储的是一对元素,称为键和值,其中键不能重复,值可以重复,Map本质是一个接口;
(2)Map接口常用方法
1)public V put(K key, V value) : 把指定的键与指定的值添加到Map集合中。
2)public V remove(Object key) : 把指定的键 所对应的键值对元素 在Map集合中删除,返回被删除元素的
值。
3)public V get(Object key) 根据指定的键,在Map集合中获取对应的值。
4)public Set<K> keySet() : 获取Map集合中所有的键,存储到Set集合中。
5)public Set<Map.Entry<K,V>> entrySet() : 获取到Map集合中所有的键值对对象的集合(Set集合)。
2 Map集合的常见子实现类
(1)HashMap:存储数据采用的哈希表结构,元素的存取顺序不能保证一致。由于要保证键的唯一、不重复,需
要重写键的hashCode()方法、equals()方法。
(2)LinkedHashMap:HashMap下有个子类LinkedHashMap,存储数据采用的哈希表结构+链表结构。通过链
表结构可以保证元素的存取顺序一致;通过哈希表结构可以保证的键的唯一、不重复,需要重写键的
hashCode()方法、equals()方法(3)LinkedHashMap:是HashMap的子类,它底层是链表和哈希表组合的一个数据存储结构,解决了HashMap存储顺序不一致的问题;
3 Map集合的遍历方式
Map集合是双列集合,不能像Collections集合那样通过迭代器或则索引进行遍历,只能通过获取键的set集合进行遍历或则获取map中的键值对对象的Set集合来进行遍历
(1)通过获取键的Set集合进行遍历
通过调用map集合的ketSet()方法可以获取键的Set集合,对Set集合进行遍历,获取键对应的值。
(2)通过获取键值对对象的方式进行遍历
map内部有对一个键值封装对象,通过entrySet可以获取键值对象的Set集合,遍历该集合可以获取每个键值对象中的键和值