Skip to content

Latest commit

 

History

History
73 lines (54 loc) · 3 KB

File metadata and controls

73 lines (54 loc) · 3 KB

Java 中的TreeMap

原文: https://beginnersbook.com/2013/12/treemap-in-java-with-example/

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内容时,我们按照键的升序获得了排序结果。

TreeMap教程

以下是TreeMap类上发布的教程列表:

参考: