java筆記 Map的用法

2021-08-22 10:27:42 字數 2918 閱讀 7519

介面概述

我們通過檢視

map介面描述,發現

map介面下的集合與

collection

介面下的集合,它們儲存資料的形式不同,如下圖。

map介面中常用集合概述

通過檢視map介面描述,看到map有多個子類,這裡我們主要講解常用的hashmap集合、linkedhashmap集合。

map介面中的常用方法

put方法時,若指定的鍵

(key)

在集合中存在,則返回值為集合中鍵對應的值(該值為替換前的值),並把指定鍵所對應的值,替換成指定的新值。

方法返回值為鍵所對應的值

使用put方法時,若指定的鍵(key)在集合中

map介面的方法演示

public class mapdemo 

//當給map中新增元素,會返回key對應的原來的value值,若key沒有對應的值,返回null

system.out.println(map.put("星期一", "mon")); // monday

system.out.println(map); //

//根據指定的key獲取對應的value

string en = map.get("星期日");

system.out.println(en); // sunday

//根據key刪除元素,會返回key對應的value值

string value = map.remove("星期日");

system.out.println(value); // sunday

system.out.println(map); // }}

鍵找值方式:即通過元素中的鍵,獲取鍵所對應的值

操作步驟與**:

1.獲取map集合中所有的鍵,由於鍵是唯一的,所以返回乙個set集合儲存所有的鍵

2.遍歷鍵的set集合,得到每乙個鍵

3.根據鍵,獲取鍵所對應的值

**演示: //利用了迭代器iterator  (點此了解迭代器)

public class mapdemo }}

map集合遍歷鍵值對方式

鍵值對方式:即通過集合中每個鍵值對(entry)物件,獲取鍵值對(entry)物件中的鍵與值。

操作步驟與**:

1.獲取map集合中,所有的鍵值對(entry)物件,以set集合形式返回。

2.遍歷包含鍵值對(entry)物件的set集合,得到每乙個鍵值對(entry)物件

3.通過鍵值對(entry)物件,獲取entry物件中的鍵與值。

注意:map集合不能直接使用迭代器或者foreach進行遍歷。但是轉成set之後就可以使用了。

//假設key 為integer型 value 為string ,具體自行定義

mapmap = new hashmap();

放入資料

map.put(1,"a");

map.put(2,"b");

map.put(3,"c");

根據key獲取對應的value

map.get(1); //獲取到對應key=1時的value=a
遍歷方法1:keyset遍歷

iteratoriter = map.keyset().iterator();

while (iter.hasnext())

————————————————————————————————————————————

//還有一種寫法 用for each

for (string key : map.keyset())

遍歷方法2:

iterator> iter = map.entryset().iterator();

entryentry;

while (iter.hasnext())

//同樣的for each寫法

for (entryentry: map.entryset())

另外,在考慮效率方面,for each速度更快一點點,推薦使用for each寫法來遍歷。

Java中的Map用法

將鍵對映到值的物件。乙個對映不能包含重複的鍵 每個鍵最多只能對映到乙個值。此介面取代 dictionary 類,後者完全是乙個抽象類,而不是乙個介面。hashmap 最常用的map,它根據鍵的hashcode 值儲存資料,根據鍵可以直接獲取它的值,具有很快的訪問速度。hashmap最多隻允許一條記錄...

Java學習筆記整理 Map

集合 collection map 鍵值對 key value對映表 預設 hashmap hashtable concurrenthashmap linkedhashmap sortedmap i treemap 1.hashmap mapmap new hashmap 增刪改查 map.put ...

Java筆記 列舉的用法

列舉的用法 一 switch語句以及列舉自帶的屬性 此處要注意switch 引數 引數型別只能是byte,short,char,int和列舉型別,float,double,string型別都不可以。public class enumexample public static void main st...