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: Data1
key is: 2 & Value is: Data5
key is: 4 & Value is: Data4
key is: 23 & Value is: Data2
key is: 70 & Value is: Data3
正如您所看到的那样,我们已经以随机顺序插入数据,但是当我们显示TreeMap
内容时,我们按照键的升序获得了排序结果。