📜  Java中 TreeMap 和 TreeSet 的相似之处

📅  最后修改于: 2022-05-13 01:55:47.828000             🧑  作者: Mango

Java中 TreeMap 和 TreeSet 的相似之处

TreeSet主要是Java中SortedSet的一个实现,不允许重复,对象按排序升序存储。

TreeMap是 Map Interface 的一个实现。 TreeMap 也是 NavigableMap 和 AbstractMap 类的实现。

Java中 TreeSet 和 TreeMap 之间的相似之处。

  1. TreeMap 和 TreeSet 都属于Java.util 包。
  2. 两者都是Java Collection Framework 的一部分。
  3. 它们不允许空值。
  4. 两者都排序。排序顺序可以是 Comparable 接口定义的自然排序顺序,也可以是 Comparator 接口定义的自定义排序顺序。
  5. 它们不同步,因此它们不会在并发应用程序中使用。
  6. 两者都为任何操作(如 put、get、containsKey、remove)提供 O(log(n)) 时间复杂度。
  7. TreeSet 和 TreeMap 内部都使用红黑树。

TreeMap 和 TreeSet 的图示:

Java
// Java program to demonstrate some basic functions
// of TreeMap and TreeSet
  
import java.util.*;
import java.io.*;
  
class GFG {
    public static void main (String[] args) {
          
      TreeSet st=new TreeSet<>();
      st.add(4);
      st.add(5);
      st.add(6);
      st.add(8);
      st.add(4);
        
        
      TreeMap tm=new TreeMap<>();
      tm.put(2,5);
      tm.put(3,6);
      tm.put(4,6);
      tm.put(2,3);
        
      System.out.println(st);
      System.out.println(tm);
        
        
        
    }
}


输出
[4, 5, 6, 8]
{2=3, 3=6, 4=6}