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...