Java中的Map集合學習筆記
Map概述
Map介面是一個雙列集合,它的每一個元素都包含一個鍵物件key和一個值物件value,鍵和值是一一對應關係。在map中訪問元素時,只要找到指定的key就能找到對應的value。
HashMap集合
HashMap集合是Map介面的一個實現類,它是執行緒不安全的,用於儲存鍵值對映關係,但保證不能出現相同的鍵。如果有相同的鍵,總結一句話:鍵相同,值覆蓋。
例項:
public class Exception05 {
public static void main(String[] args) {
//建立一個map
Map hashMap = new HashMap();
//通過put(key, value)方法儲存
hashMap.put("name1", "張一");
hashMap.put("name1", "李四");
hashMap.put("name2", "張二");
hashMap.put("name3", "張三");
hashMap.put("name4", "張四");
//通過get(key)方法取值輸出
System.out.println("取出key為name1的value為:" + hashMap.get("name1"));
//map集合的遍歷
for (Object entry : hashMap.entrySet()){
System.out.println(entry);
}
}
}
執行結果:
我們通過put()方法存入五個key和對應的value,有一個key是相同的,從結果可以看出來value等於張一的並沒有輸出列印。這就是鍵相同,值覆蓋。
LinkedHashMap集合
從上面例項的執行結果可以看出,通過遍歷map集合輸出的結果並不是我們存入的順序,如果想讓遍歷的結果輸出和儲存時的結果一致的話就要使用LinkedHashMap類它是HashMap的子類。它的內部也是使用了一個雙向連結串列維護內部元素的關係。
例項:
public class Exception06 {
public static void main(String[] args) {
//建立LinkedHashMap集合
Map linkedHashMap = new LinkedHashMap();
//儲存值
linkedHashMap.put("1","jack1");
linkedHashMap.put("2","jack2");
linkedHashMap.put("3","jack3");
//迴圈遍歷輸出
for (Object entry: linkedHashMap.entrySet()){
System.out.println(entry);
}
}
}
執行結果:
從執行結果可以看出元素迭代出來的順序和存入的順序是一致的。
TreeMap集合
TreeMap也是Map介面的一個實現類,該集合用來儲存鍵值對映關係的,它是不允許出現重複的鍵,TreeMap集合是通過二叉樹的原理來保證鍵的唯一性。
例項:
public class Exception07 {
public static void main(String[] args) {
Map treeMap = new TreeMap();//建立TreeMap集合
treeMap.put("1","張三");//存入三個值
treeMap.put("2","李四");
treeMap.put("3","王二");
Set keySet = treeMap.keySet();//獲得鍵的集合
Iterator iterator = keySet.iterator();//獲得iterator物件
while (iterator.hasNext()){//判斷是否存在下一個物件
Object key = iterator.next();//取出元素
Object value = treeMap.get(key);//根據獲得的鍵找對應的key
System.out.println(key + "=" + value);
}
}
}
執行結果:
Properties集合
Properties類是Hashtable的一個實現類,而Hashtable是實現了Map介面。Hashtable和Hashmap十分相似,區別在於Hashtable是執行緒安全的,它在存取元素是速度很慢,現在基本不使用。但Hashtable有一個子類就是Properties,然而Properties在實際中應用非常重要,在實際開發中,經常使用Properties集合來存取應用的配置項。
加油吧!!!
下一次學習List和Map集合的遍歷方式。
相關文章
- Java 集合學習筆記Java筆記
- 【Java學習筆記】Collections集合Java筆記
- Map集合筆記筆記
- java中的Map集合Java
- Java Map集合練習Java
- Java集合 Collection、Set、Map、泛型 簡要筆記Java泛型筆記
- go 學習筆記---map(字典)Go筆記
- Java筆記——【Map】Java筆記
- Java集合學習記錄——IteratorJava
- Java 中的泛型 集合(List,Set) MapJava泛型
- Python學習筆記 - filter,map,reduce,zipPython筆記Filter
- 集合冪級數學習筆記筆記
- day08_我的Java學習筆記 (String類、ArrayList集合類)Java筆記
- JAVA集合——Map介面Java
- Java集合類——MapJava
- JAVA學習筆記Java筆記
- Java中List集合轉Map集合報錯:Duplicate keyJava
- 工作學習筆記(十八)Java中的註釋筆記Java
- python學習筆記24_集合set( )Python筆記
- 《JAVA學習指南》學習筆記Java筆記
- 傳智黑馬java基礎學習——day20(集合Map)Java
- Java複習筆記第二篇--集合學習之實現原理二Java筆記
- JAVA集合框架 - Map介面Java框架
- Java學習筆記4Java筆記
- Java JNI 學習筆記Java筆記
- java學習筆記6Java筆記
- Java遍歷Map集合的方法Java
- ES6學習筆記之Set和Map筆記
- 中斷的學習筆記筆記
- Java學習筆記記錄(二)Java筆記
- redis學習筆記4: 在Java中操作RedisRedis筆記Java
- Java集合框架學習Java框架
- 我的世界1.12.2模組開發學習筆記集合筆記
- kotlin學習筆記-異常好玩的list集合總結Kotlin筆記
- 工作學習筆記(七)Java的介面筆記Java
- Java學習筆記:Redis的持久化Java筆記Redis持久化
- Java集合四:Map簡介;Java
- ES6學習筆記(四)【正則,集合】筆記