JAVA 集合之Map介面

2021-08-26 02:52:27 字數 2096 閱讀 1338

map介面------集合框架中的另乙個父介面

map集合(另名為雜湊表):用於儲存一一對應的元素資料,第乙個物件可以作為索引,第二個物件作為值,

我們稱之為key-    value,鍵值對。

(1)以key-value形式進行儲存。

(2)key與value都必須是引用型別。

(3)key可以為null。

(4)key與value是單向一對一對映。

(5)key不能重複。

map是基於陣列和鍊錶的資料結構進行儲存資料。

作為key的物件也是採用了雜湊演算法計算儲存在陣列(雜湊陣列,雜湊桶)的位置上, 如果計算出來的位置,陣列中此位置沒有元素,就可以新增到雜湊桶內。

如果有元素,key的equals方法返回值為false,就會儲存在雜湊桶元素對應的單向鍊錶中。

如果key的equals方法返回true,就進行替換(覆蓋)。

ps:使用map集合時,作為key的資料型別應該重寫equals和hashcode方法 

v put(k k,v v)

作用:用於儲存一對key-value,返回被替換的value值

如果不是替換就返回null。--返回值型別和value型別一致

v get(k k)

作用:通過key物件,獲取對應的value物件,如果集合中沒有此key,返回null

setkeyset()

用於獲取map中所有的key物件,返回乙個set集合  

set>  entryset();

將key-value封裝成內部類物件,返回entry物件的set集合 

collectionvalues();

將map集合中的所有value封裝到乙個collection集合中。

hashmap與hashtable的區別

(1)hashtable是乙個古老的類。不建議使用

(2)hashtable是乙個執行緒安全的類,hashmap執行緒不安全

(3)hashtable的key不能是null,hashmap可以是null

linkedhashmap:是hashmap的子類,使用鍊錶來維護key-value的順序,在迭代時順序與新增的順序一致。

treemap: 是sortedmap子介面的實現類,使用了二叉樹的資料結構維護填入集合的順序。

(1)自然排序:往treemap新增的key物件,可以實現comparable介面的compareto方法

(2)定製排序:作為key物件的資料型別,可以不實現comparable介面。

需要建立乙個比較器comparator物件。實現compare方法。

public class testmap02  else 

/*** 遍歷map集合的第一種方式: setkeyset();

*/setset = map.keyset();

for (string key : set)

system.out.println("---------------------------分割線--------------------------------");

/*** 遍歷map的第二種方法

*/set> entrys = map.entryset();

for (entrye : entrys)

/** 遍歷map集合的第三種方法

* * 此方法只能夠拿到所有的value,無法取 key

*/collectionps = map.values();

for (person p : ps)

}}

是hashtable的子型別,用於封裝屬性檔案的key-value資訊,因為在檔案裡寫的都是字串,因此properties的key與value都是字串型別

public class testproperties 

}

集合之Map介面1

一 map與collection並列存在。用於儲存具有對映關係的資料 key value 二 map 中的 key 和 value 都可以是任何引用型別的資料 三 map 中的 key 用set來存放,不允許重複,即同乙個 map 物件所對應的類,須重寫hashcode 和equals 方法。常用s...

JAVA基礎之map集合

mapmap new hashmap 1 對映功能 就是將key對映到value,如果key存在,則覆蓋value,並將原來的value返回,如果key不存在,則返回null。v put k key,v value 例如 map.put 1705030220 張三 map.put 170503022...

Java集合 Map集合

map map 用於儲存具有對映關係的資料,因此 map 集合裡儲存著兩組值,一組值用於儲存 map 裡的 key,另外一組用於儲存 map 裡的 value map 中的 key 和 value 都可以是任何引用型別的資料 map 中的 key 不允許重複,即同乙個 map 物件的任何兩個 key...