本文目錄一覽:
java裡面的map是什麼?
java為數據結構中的映射定義了一個接口java.util.Map
Map主要用於存儲健值對,根據鍵得到值,因此不允許鍵重複(重複了覆蓋了),但允許值重複。
java教程之Map應該怎麼用
Map集合:
確保唯一性依賴於hashCode()和equals方法
HashSet底層依賴於HashMap,TreeSet底層依賴於TreeMap
Map集合石雙列的,Collection是單列的
Map的鍵唯一,Collection的子體系Set是唯一的
Map集合的數據結構值針對鍵有效,跟值無關,Collection集合的數據結構是針對元素有效
添加:V put(K key,V value);
如果鍵是第一次儲存就直接存,返回null,如果不是,就用值把以前覆蓋並返回舊值
刪除:void clear();清空
V remove(Object key);根據鍵刪除鍵值對元素,返回值
判斷:
boolean containsKey(0bject key) 判斷集合是否包含指定的鍵
boolean containsValue(Object value)判斷集合是否包含指定的值
boolean isEmpty() 判斷集合是否為空
獲取:
V get(Object key) 根據鍵獲取值
SetK keySet() 獲取集合中所有鍵的集合
CollectionV values() 獲取集合中所有值的集合
長度:
int size() 返回集合中的鍵值對數
遍歷:
1.
Set keySet = hm.keySet();
hm.get(key);
2.
SetMap.Entry, = hm.entrySet();
Map.Entry,.getKey()
Map.Entry,.getValue()
TreeMap對鍵進行比較
帶你輕鬆理解數據結構之Map
Map結構跟我們上節講解的set結構語法差不多 《理解數據結構之Set,只要5分鐘》 ,不同是Map語法是一種數組鍵值對格式,Map也是處理了防止對象鍵值強制類型轉換問題。Map是利用數組特性解決的,我們都知道數組可以傳入任意類型值,所以Map結構也接收所有類型值。我們剛才說了值不會向對象那樣進行強制類型轉換,如24和”24″就是兩種類型關係,互不會影響 。
上面example中,創建一個Map對象,上面我們說過Map是一個數組對象,裡面還接收一個數組對象也就是二維數組,裡面的參數也就是鍵值對形式,然後設置map值,map.set方法接收兩個參數,前者是key值後者是value值。這時Map對象添加了name值
上面example中,Map對象提供了查看size屬性,查看當前Map結構有幾組數據。
上面example中,我們使用Map.get方法獲取對象的屬性值。如果獲取一個Map對象中不存在的則返回undefined。
上面example中,Map.has返回的是一個Boolean值,會去這個Map中查找如果找到返回true,否則返回false,一般用於檢測這個Map中存在該值的時候使用。
上面example中,Map.delete方法刪除結構中某個值,如果這個值存在Map結構中刪除則返回true,如果刪除一個不存在的值則返回false。
上面example中,Map.clear該方法則會清除Map結構中所有的屬性。
上面example中,可以看到Map結構是一個二維數組,裡面是鍵值對形式的。Map結構也可以使用forEach遍歷,它接收3個參數:
我們上面講了Map可以forEach遍歷,這樣循環解析也可以組成一個新的對象。那麼Es6方法新提供了快速將這種結構轉換為對象。
一句話總結:Set結構主要用作於判斷某個值是否存在該對象中,而Map結構主要用作於從當前結構中獲取該對象的值。
有的情況下我們需求想實現,我第一次請求後台接口Api,當我請求過後第二次就走緩存,不在發送接口Api。
我們在項目需求時,肯定會遇到一個狀態對應着一種操作,如下:
Java的數據結構你用過哪些?Map與Set的本質區別是什麼?
java中常見的數據結構有:
數組
集合類——Collection(list(ArrayList,LinkedList),set(HashSet))
List 是鏈表(接口),是可以允許出現重複值的。它的具體實現類:ArrayList和LinkedList
set 是集合(接口),不允許出現重複值。它的具體實現類HashMap
ArrayList 實現鏈表的內部結構是用數組(Array)。查找高效,修改低效
LinkedList 實現鏈表的內部結構是鏈表(Linked)。查找低效,修改高效
set是集合(接口),不允許出現重複值
Iterator迭代器
簡介:java提供的迭代器接口進行java collection的遍歷。Iterator模式是用於遍歷類的標準訪問方法
所有的繼承Coollection的集合類子類,都有Iterator()方法用於反饋迭代器,程序額可以獲取這個迭代器對象對Collection對象中的元素進行遍歷。
鍵值對容器 ——Map
Map是一種把鍵對象和值對象進行關聯的容器
指出:像set一樣,一個Map容器中的鍵對象不允許重複,這是為了保證查找結果的一致性。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/307357.html