特點:
雙鏈集合,一次儲存一對資料,分為鍵和值,鍵唯一,值可多個,鍵值對應
首先新建集合
Map<String, String> map = new HashMap<>();
新增元素
注意該型別集合新增元素並不使用“add”而是使用“put”
map.put("陳平安","寧姚"); map.put("劉羨陽","賒月"); map.put("顧璨","春宵"); map.put("劉灞橋","蘇嫁");
刪除指定的元素
通用“remove”,如果想要看到自己刪除的內容,可以
String delet = map.remove("劉灞橋"); //只輸入鍵,不輸入值
System.out.println(delet); //輸出刪除值
map.remove("顧璨");
當然如果想重新開始就
//清空 map.clear();
判斷
集合內是否存在該類元素的話
//判斷 boolean keyreturn = map.containsKey("劉灞橋"); //根據鍵判斷 boolean keyreturn1 = map.containsKey("曹慈"); boolean valuereturn = map.containsValue("蘇嫁"); //根據值來判斷 boolean valuereturn1 = map.containsValue("裴錢"); System.out.println(keyreturn); //真 System.out.println(keyreturn1); //假 System.out.println(valuereturn); System.out.println(valuereturn1);
如果想要知道集合是否存在元素,則使用布林型別的資料來接收結果
//判斷集合是否為空 boolean empty = map.isEmpty(); //當沒有清空集合元素時為假反之為真 System.out.println(empty);
迴圈
方法一:
當只想迴圈兩個資料中的其中一個時
Set<String> keys = map.keySet(); //只關於鍵 for (String key : keys) { System.out.println(key); } Collection<String> values = map.values(); //只關於值 for (String s : values) { System.out.println(s); }
都是建立介面,賦值來迴圈,都使用”增強for“的形式,如果想兩個一起迴圈的話
Set<String> keys = map.keySet(); //獲取鍵 for (String key : keys) { String value = map.get(key); //獲取鍵所對應的值 System.out.println(key+"="+value); //正常輸出 }
方法二:
Set<Map.Entry<String, String>> entries = map.entrySet(); //如果選擇導包,在最開始的地方輸入:import java.util.Map.Entry;則在上面的第一個書名號內可以不用"Map." for (Map.Entry<String, String> en : entries) { String key = en.getKey(); //獲取鍵 String val = en.getValue(); //獲取值 System.out.println(key+"+"+val); //同樣輸出全部 }
方法三:
map.forEach(new BiConsumer<String, String>() { //在括號內new一個"BiC"選開頭第一個 @Override public void accept(String key, String value) { //引數根據需要看改不改 System.out.println(key+" = "+value); } }); System.out.println("\n"+"=============================="+"\n"); //寫法二:lamba寫法 map.forEach((key, value)-> System.out.println(key+" = "+value));