Java HashMap
官方文件:https://docs.oracle.com/javase/7/docs/api/java/util/HashMap.html
import java.util.HashMap;
簡介:
以每個獨立的 key 對應一個 value
特性:
用途:
建立對應表(轉換表),一 key 對一 value
像是學生成績表,以名字做為 key,查詢 key 可以得對應的成績 value
資料格式:
K: key以每個獨立的 key 對應一個 value
特性:
- 資料(K, V)原則上是一對一
- key不能重複,若重複宣告,後者會取代前者
- 資料不會排序,預設是先宣告的在前面(呼叫整個 HashMap 的話)
用途:
建立對應表(轉換表),一 key 對一 value
像是學生成績表,以名字做為 key,查詢 key 可以得對應的成績 value
資料格式:
HashMap<K,V>
V: value
用法:
1. 宣告: 型別是 reference,不能存基本型別,像整數要寫 Integer 而非 int
HashMap<String, String> hashmap = new HashMap<String, String>();
HashMap<String, String> hashmap = new HashMap<>();
HashMap<String, Integer> hashmap = new HashMap<>();
2.新增資料: 同時給Key-Value參數,新增這筆資料到該hashMaphashmap.put("Item 1", "Value 1");
hashmap.put("Item 1", 25);
3.刪除資料: 根據參數Key刪掉對應的Key-Value資料hashmap.remove("Item 1");
4.取特定key對應的值hashmap.get("Item 1");
5.顯示整個HashMap內容System.out.println("內容:" + hashmap);
for(String Key: map.keySet()){
System.out.println(Key + " " + hashmap.get(Key));
}
6.清空HashMap: 刪除整個HashMap內容,物件還在,但沒有東西hashmap.clean();
補充:如果想要此 map 可以1對多的話(1 key 對應多個 value)
value 的型別可以用 ArrayList
好處在value可以使用所有 ArrayList 的功能
宣告:
HashMap<> hashmap = new HashMap<>();
每個key對應都是一個ArrayList,放數值前要先初始化:hashmapmap.put("Item 1", new ArrayList<>());
hashmapmap.put("Item 2", new ArrayList<>());
新增數值:用get得到ArrayList物件,再用他的add方法新增hashmap.get("Item 2").add("d");
hashmap.get("Item 2").add("e");
刪除某個key的所有value: 下次要用此key時要再次初始化hashmap.remove("Item 2");
刪除某個key的特定valuehashmap.get("Item 2").remove("d");
留言
張貼留言