首頁技術(shù)文章正文

Java培訓(xùn):認(rèn)識(shí)TreeMap集合

更新時(shí)間:2022-07-12 來源:黑馬程序員 瀏覽量:

IT培訓(xùn)班

  HashMap集合存儲(chǔ)的元素的鍵值是無序且不可重復(fù)的,為了對(duì)集合的元素的鍵值進(jìn)行排序,Map接口提供了另一個(gè)可以對(duì)集合中元素鍵值進(jìn)行排序的類TreeMap。下面通過一個(gè)案例演示TreeMap集合的用法,如文件6-19所示。

import java.util.Iterator;
import java.util.Set;
import java.util.TreeMap;
public class Example19 {
    public static void main (String[] args) {
        TreeMap map = new TreeMap ();
        map.put(3, "李四"); // 存儲(chǔ)鍵和值
        map.put(2, "王五");
        map.put(4, "趙六");
        map.put(3, "張三");
        Set keySet = map.keySet ();
        Iterator it = keySet.iterator ();
        while (it.hasNext()) {
            Object key = it.next ();
            Object value = map.get(key); //獲取每個(gè)鍵所對(duì)應(yīng)的值
            System.out.println (key+":"+value);
        }
    }
}

  文件6-19 Example19.java

  文件6-19的運(yùn)行結(jié)果如圖6-27所示。

1657595472443_文件619的運(yùn)行結(jié)果.jpg

  在文件6-19中,第6~10行代碼通過Map的put(Object key,Object value)方法向集合中加入4個(gè)元素;第11~17行代碼使用迭代器遍歷集合中的元素并通過元素的鍵獲取對(duì)應(yīng)的值,然后打印。從圖6-27的打印結(jié)果可以看出,添加的元素已經(jīng)自動(dòng)排序,并且鍵值重復(fù)存入的整數(shù)3只有一個(gè),只是后邊添加的值“張三”覆蓋了原來的值“李四”。這也證實(shí)了TreeMap中的鍵必須是唯一的,不能重復(fù)且有序,如果存儲(chǔ)了相同的鍵,后存儲(chǔ)的值會(huì)覆蓋原有的值。

分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!