TreeSet主要是SortedSet在java中的實現,不允許重複,對象按升序存儲。
TreeSet 的一些重要函數包括:
- 在 TreeSet 中不允許重複值,因為它實現了 SortedSet 接口。
- TreeSet 中的對象按升序存儲。
- 在TreeSet 中,元素的插入順序不保持。
TreeMap是Map接口的實現。 TreeMap 也是 NavigableMap 和 AbstractMap 類的實現。
TreeMap 的一些重要函數包括:
- 在 TreeMap 中,不允許空鍵(如 Map),因此會拋出 NullPointerException(多個空值可能與不同的鍵相關聯)。
- TreeMap 不支持Entry.setValue 方法。
下麵是TreeSet和TreeMap在Java中的圖示:
示例 1:
Java
// Illustration of TreeMap and TreeSet in Java
import java.io.*;
import java.util.*;
class GFG {
public static void main(String[] args)
{
TreeSet<Integer> set = new TreeSet<>();
set.add(3);
set.add(4);
set.add(3);
set.add(5);
TreeMap<Integer, Integer> 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);
}
}
輸出
[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<String> l = new TreeSet<>();
l.add("geeks");
l.add("FOR");
l.add("geeks");
l.add("tutorial");
TreeMap<Integer, String> 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. 編號 |
TreeSet |
TreeMap |
---|---|---|
1. | TreeSet 在 Java 中實現SortedSet。 | TreeMap 用Java實現Map接口 |
2. | TreeSet 在java中存儲單個對象。 | TreeMap存儲兩個Object,一鍵一值。 |
3. | TreeSet 不允許在 java 中重複對象。 | java中的TreeMap允許重複值。 |
4. | TreeSet 在 Java 中實現NavigableSet。 | TreeMap 在 Java 中實現NavigableMap。 |
5. | TreeSet根據對象排序。 | TreeMap 根據鍵排序。 |
相關用法
- Java TreeMap ceilingEntry()用法及代碼示例
- Java TreeMap firstKey()用法及代碼示例
- Java TreeMap pollFirstEntry()用法及代碼示例
- Java TreeMap pollLastEntry()用法及代碼示例
- Java TreeMap ceilingKey()用法及代碼示例
- Java TreeMap clear()用法及代碼示例
- Java TreeMap clone()用法及代碼示例
- Java TreeMap comparator()用法及代碼示例
- Java TreeMap containsKey()用法及代碼示例
- Java TreeMap containsValue()用法及代碼示例
- Java TreeMap entrySet()用法及代碼示例
- Java TreeMap floorKey()用法及代碼示例
- Java TreeMap get()用法及代碼示例
- Java TreeMap headMap()用法及代碼示例
- Java TreeMap higherEntry()用法及代碼示例
- Java TreeMap higherKey()用法及代碼示例
- Java TreeMap keySet()用法及代碼示例
- Java TreeMap lastKey()用法及代碼示例
- Java TreeMap lowerEntry()用法及代碼示例
- Java TreeMap lowerKey()用法及代碼示例
- Java TreeMap navigableKeySet()用法及代碼示例
- Java TreeMap put()用法及代碼示例
- Java TreeMap putAll()用法及代碼示例
- Java TreeMap remove()用法及代碼示例
- Java TreeMap size()用法及代碼示例
注:本文由純淨天空篩選整理自sambhavshrivastava20大神的英文原創作品 Difference between TreeMap and TreeSet in Java。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。