1、字典:java.util.Map
java中字典也是集合的一種,並稱它爲雙列集合
2、特點
- Map集合中的元素是成對存在的,我們也稱他們爲鍵值對(key-value)
- Map集合的鍵(key)是唯一的,值(value)可以不唯一,也就是說一個鍵對應一個值
- 通過鍵維護映射關係,也就是說通過鍵獲可以取值,但不能通過值獲取鍵
3、常用方法
Map接口中定義了很多方法,常用的如下:
public V put(K key, V value)
: 把指定的鍵與指定的值添加到Map集合中。
第一次添加返回null
第二次添加返回修改之前的值public V remove(Object key)
: 把指定的鍵 所對應的鍵值對元素 在Map集合中刪除,返回被刪除元素的值。public V get(Object key)
根據指定的鍵,在Map集合中獲取對應的值。public Set<K> keySet()
: 獲取Map集合中所有的鍵,存儲到Set集合中。public Set<Map.Entry<K,V>> entrySet()
: 獲取到Map集合中所有的鍵值對的集合(Set集合)對象。
- Map.Entry<K,V> 接口:這是一個內部接口
抽象方法:
getKey()
getValue()
public boolean containKey(Object key)
:判斷該集合中是否有此鍵。
4、常用子類
(1)java.util.HashMap<K,V>集合
特點:
- 具備哈希特性:針對鍵,唯一、無索引、無序
- 鍵所屬的類,要求覆寫
hashCode
和equals
方法
(2)java.util.LinkedHashMap<K,V>集合,它是HashSet的子類
特點:
- 具備哈希特性和鏈表特性:針對鍵
- 哈希特性:唯一、無索引
- 因爲有了鏈表特性所以有序了
- 鍵所屬的類,要求覆寫
hashCode
和equals
方法
5、遍歷集合的方式
- 第一種方式:通過
keySet
方法獲取鍵集合,之後通過get
方法獲取值 - 第二種方式:通過
entrySet
方法獲取hashMap鍵值對(Map.Entry<K,V>)集合,遍歷鍵值對集合,使用getValue
和getKey
方法獲取鍵值對