📜  JavaTreeMap和TreeSet的区别

📅  最后修改于: 2021-09-11 06:16:58             🧑  作者: Mango

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

TreeSet 的一些重要特性是:

  • 在 TreeSet 中不允许重复值,因为它实现了SortedSet接口。
  • TreeSet 中的对象按升序存储。
  • 在 TreeSet 中,元素的插入顺序不保持。

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

TreeMap 的一些重要特性是:

  • 在 TreeMap 中不允许空键(如 Map),因此抛出NullPointerException (多个空值可能与不同的键相关联)。
  • TreeMap 不支持Entry.setValue方法。

下面是Java中 TreeSet 和 TreeMap 的说明:

示例 1:

Java
// Illustration of TreeMap and TreeSet in Java
import java.io.*;
import java.util.*;
  
class GFG {
    public static void main(String[] args)
    {
        TreeSet set = new TreeSet<>();
        set.add(3);
        set.add(4);
        set.add(3);
        set.add(5);
  
        TreeMap tm = new TreeMap<>();
        tm.put(2, 4);
        tm.put(3, 5);
        tm.put(4, 5);
        tm.put(2, 3);
        System.out.println(set);
        System.out.println(tm);
    }
}


Java
// Illustration of TreeMap and TreeSet in Java
import java.io.*;
import java.util.*;
  
class GFG {
    public static void main(String[] args)
    {
        TreeSet l = new TreeSet<>();
        l.add("geeks");
        l.add("FOR");
        l.add("geeks");
        l.add("tutorial");
  
        TreeMap l1 = new TreeMap<>();
  
        l1.put(1, "geeks");
        l1.put(2, "FOR");
        l1.put(3, "geeks");
        l1.put(4, "tutorial");
        System.out.println(l);
        System.out.println(l1);
    }
}


输出

[3, 4, 5]
{2=3, 3=5, 4=5}

示例 2:

Java

// Illustration of TreeMap and TreeSet in Java
import java.io.*;
import java.util.*;
  
class GFG {
    public static void main(String[] args)
    {
        TreeSet l = new TreeSet<>();
        l.add("geeks");
        l.add("FOR");
        l.add("geeks");
        l.add("tutorial");
  
        TreeMap l1 = new TreeMap<>();
  
        l1.put(1, "geeks");
        l1.put(2, "FOR");
        l1.put(3, "geeks");
        l1.put(4, "tutorial");
        System.out.println(l);
        System.out.println(l1);
    }
}
输出
[FOR, geeks, tutorial]
{1=geeks, 2=FOR, 3=geeks, 4=tutorial}
S. No.

TreeSet

TreeMap

1. TreeSet implements SortedSet in Java. TreeMap implements Map Interface in Java
2. TreeSet stored a single object in java. TreeMap stores two Object one Key and one value.
3. TreeSet does not allow duplication Object in java. TreeMap in java allows duplication of values.
4. TreeSet implements NavigableSet in Java. TreeMap implements NavigableMap in Java.
5. TreeSet is sorted based on objects. TreeMap is sorted based on keys.