更新时间:2022-07-12 来源:黑马程序员 浏览量:
HashMap集合存储的元素的键值是无序且不可重复的,为了对集合的元素的键值进行排序,Map接口提供了另一个可以对集合中元素键值进行排序的类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); //获取每个键所对应的值 System.out.println (key+":"+value); } } }
文件6-19 Example19.java
文件6-19的运行结果如图6-27所示。
在文件6-19中,第6~10行代码通过Map的put(Object key,Object value)方法向集合中加入4个元素;第11~17行代码使用迭代器遍历集合中的元素并通过元素的键获取对应的值,然后打印。从图6-27的打印结果可以看出,添加的元素已经自动排序,并且键值重复存入的整数3只有一个,只是后边添加的值“张三”覆盖了原来的值“李四”。这也证实了TreeMap中的键必须是唯一的,不能重复且有序,如果存储了相同的键,后存储的值会覆盖原有的值。