Map类介绍
- 特点:
1).键值对存储;
2).在一个Map集合中,“键”不能重复;“值”可以重复;
3).可通过“键”获取对应“值”,null既可以作为键也可以作为值。 - Map(接口):双列集合:
|–HashMap(子类):“键”是哈希表结构。
|–LinkedHashMap(子类):“键”是链表(有序) + 哈希表(唯一)。
常用方法
(1)增/改:
public V put(K key, V value)
把指定的键与指定的值添加到Map集合中。
关于返回值V:正常添加,返回值为null;当添加一个相同的“键”时,会用新值替换原值,并将原值返回;
(2) 删:
public V remove(Object key)
: 把指定的键 所对应的键值对元素 在Map集合中删除,返回被删除元素的值。如果删除的键不存在返回null。
(3)查:
public V get(Object key)
根据指定的键,在Map集合中获取对应的值。
public boolean containKey(Object key)
:判断该集合中是否有此键。
public boolean containsValue(Object value)
: 判断该值是否存在。
(4)遍历:
public Set<K> keySet()
: 获取Map集合中所有的键,存储到Set集合中。
public Set<Map.Entry<K,V>> entrySet()
: 获取到Map集合中所有的键值对对象的集合(Set集合)。
Collection<V> values()
返回Map中所有值的集合(Collection集合)
Map类注意事项
- 自定义对象作为Map的键,自定义对象需要重新hashCode()和equals()方法,否则键可能会有重复。
- LinkedHashMap:“键”链表 + 哈希表,有序的、唯一。
昨日学习补充
- Arrays类
(1)public static String toString(int[] a)
:返回指定数组内容的字符串表示形式。
(2)public static void sort(int[] a)
:对指定的 int 型数组按数字升序进行排序。