1. 程式人生 > >Java中的對映Map - 入門篇

Java中的對映Map - 入門篇

## 前言 大家好啊,我是湯圓,今天給大家帶來的是《Java中的對映Map - 入門篇》,希望對大家有幫助,謝謝 ## 簡介 前面介紹了集合List,這裡開始簡單介紹下對映`Map`,相關類如下圖所示 ![集合](https://i.loli.net/2021/03/30/kTAnEyP9cv1DXai.png) ## 正文 Map是一種儲存鍵值對的資料集合,鍵以雜湊或者樹形結構進行儲存; > 為什麼會設計Map介面呢? 假設我們有一個員工類,裡面有Id屬性和姓名等其他資訊,現在我們把所有員工都存到List裡,然後要找出Id為001的員工,你會發現,你需要從List中遍歷每個物件,然後取出Id進行比較; 你會發現這種查詢法效率很低,有點殺雞用牛刀的感覺; 這時如果有一個集合類,可以以鍵值對對映的方式的儲存員工資訊(Id作為鍵,員工資訊作為值),那麼就可以只遍歷鍵列表,然後進行比較; 你會發現這種查詢法效率提高了很多,因為物盡其用了(比較的是Id,也只是取了Id,沒有浪費); 這就是Map介面的作用,可以根據某個鍵去查詢對應的資訊,有點類似於資料庫的設計。 ### Map的種類 Map主要有三種類型:HashMap(常用)、TreeMap(樹形結構)、LinkedHashMap(前兩者的結合) 我們先來看一下Map介面主要的幾個方法: - `V put(K key, V value)`:往Map中新增鍵值對,其中key為鍵,value為值;如果key存在,則覆蓋原有的值;如果不存在,則新建鍵值對。 - `V get(Object key)`:從Map中查詢鍵key對應的值,如果沒有,則返回null - `default V getOrDefault(Object key, V defaultValue)`:從Map中查詢鍵key對應的值,如果沒有,則返回第二個引數(設定的預設值);這裡的修飾符default是用在介面方法中,表示這個方法在介面中已經實現了,子類可以不實現(Java8開始支援