close

偶然看到一個結構TreeMap,所以將它拿來將HashMap來做區別

HashMap再存入key和value的時候時隨機存入的,要拿取的時候是利用key來將相對應的value拿出來,如果想要在Map中新增或刪除,HashMap比較好用

TreeMap會自動將存入的key做排序,若是想要存入Map並有排序的話,TreeMap較好用


Kotlin Example

Step 1:

先新增兩種類型

val hashmap = HashMap<String,String>()
val treemap = TreeMap<String,String>()

 

Step 2:

在hashmap和treemap中我都新增相同的東西

hashmap.put("A","1")
hashmap.put("D","4")
hashmap.put("C","3")
hashmap.put("B","2")

 

treemap.put("A","1")
treemap.put("D","4")
treemap.put("C","3")
treemap.put("B","2")

 

Step 3:

再把它印出來驗證有沒有排序

for((key, value) in hashmap){
    Log.d(TAG,"Hash Map[$key] = $value")
}
Log.d(TAG,"Hash Map:"+hashmap)

 

for((key, value) in treemap){
    Log.d(TAG,"Tree Map[$key] = $value")
}
Log.d(TAG,"Tree Map:"+treemap)

 

Strp 4:

結果會是

可以很明顯地看到TreeMap是依照順序排好,則HashMap就是依照當初的順序存放的

 


JAVA Example

因為是一樣的東西,只是換成JAVA所以我就只有把程式碼貼上來

Step 1:

private HashMap<String,String> hashMap = new HashMap<>();
private TreeMap<String,String> treeMap = new TreeMap<>();

Step 2:

hashMap.put("A","1");
hashMap.put("D","4");
hashMap.put("C","3");
hashMap.put("B","2");

 

treeMap.put("A","1");
treeMap.put("D","4");
treeMap.put("C","3");
treeMap.put("B","2");

Step 3:

for (String name:hashMap.keySet()) {
    Log.d(TAG,"Hash Map key:"+name);
}
Log.d(TAG,"Hash Map:"+hashMap);

 

for (String name:treeMap.keySet()) {
    Log.d(TAG,"Tree Map key:"+name);
}
Log.d(TAG,"Tree Map:"+treeMap);

Step 4: 

 

arrow
arrow
    創作者介紹
    創作者 小小工程師 的頭像
    小小工程師

    理工女孩

    小小工程師 發表在 痞客邦 留言(0) 人氣()