更新時間:2022-07-12 來源:黑馬程序員 瀏覽量:
HashMap集合存儲的元素的鍵值是無序且不可重復(fù)的,為了對集合的元素的鍵值進(jìn)行排序,Map接口提供了另一個可以對集合中元素鍵值進(jìn)行排序的類TreeMap。下面通過一個案例演示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, "李四"); // 存儲鍵和值 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); //獲取每個鍵所對應(yīng)的值 System.out.println (key+":"+value); } } }
文件6-19 Example19.java
文件6-19的運行結(jié)果如圖6-27所示。
在文件6-19中,第6~10行代碼通過Map的put(Object key,Object value)方法向集合中加入4個元素;第11~17行代碼使用迭代器遍歷集合中的元素并通過元素的鍵獲取對應(yīng)的值,然后打印。從圖6-27的打印結(jié)果可以看出,添加的元素已經(jīng)自動排序,并且鍵值重復(fù)存入的整數(shù)3只有一個,只是后邊添加的值“張三”覆蓋了原來的值“李四”。這也證實了TreeMap中的鍵必須是唯一的,不能重復(fù)且有序,如果存儲了相同的鍵,后存儲的值會覆蓋原有的值。