TreeMap是基于红黑树的NavigableMap实现。它根据其键的自然顺序排序。
TreeMap类**实现类似于HashMap类的Map接口。它们之间的主要区别在于HashMap是一个无序集合,而TreeMap按其键的升序排序。TreeMap是非同步的集合类,这意味着除非明确同步,否则它不适合线程安全操作。
TreeMap示例
在这个例子中,我们将键映射和值映射存储到TreeMap中,并且我们在从TreeMap获取数据时获得排序的键值映射。
import java.util.TreeMap;import java.util.Set;import java.util.Iterator;import java.util.Map;public class Details { public static void main(String args[]) { /* This is how to declare TreeMap */ TreeMap<Integer, String> tmap = new TreeMap<Integer, String>(); /*Adding elements to TreeMap*/ tmap.put(1, "Data1"); tmap.put(23, "Data2"); tmap.put(70, "Data3"); tmap.put(4, "Data4"); tmap.put(2, "Data5"); /* Display content using Iterator*/ Set set = tmap.entrySet(); Iterator iterator = set.iterator(); while(iterator.hasNext()) { Map.Entry mentry = (Map.Entry)iterator.next(); System.out.print("key is: "+ mentry.getKey() + " & Value is: "); System.out.println(mentry.getValue()); } }}
输出:
key is: 1 & Value is: Data1key is: 2 & Value is: Data5key is: 4 & Value is: Data4key is: 23 & Value is: Data2key is: 70 & Value is: Data3
正如您所看到的那样,我们已经以随机顺序插入数据,但是当我们显示TreeMap内容时,我们按照键的升序获得了排序结果。
