diff --git a/docs/60.md b/docs/60.md index af11ef490fb15acc19be369428ddb20c423a4be2..dba306f059eb74de66c332cfed8d73c3bdc9136e 100644 --- a/docs/60.md +++ b/docs/60.md @@ -2,16 +2,16 @@ > 原文: [https://javatutorial.net/java-treeset-example](https://javatutorial.net/java-treeset-example) -Java TreeSet 类是一个基于 [TreeMap](https://docs.oracle.com/javase/8/docs/api/java/util/TreeMap.html) 的 [NavigableSet](https://docs.oracle.com/javase/8/docs/api/java/util/NavigableSet.html) 实现。 元素可以通过[比较器](https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html)进行排序,也可以仅通过其自然排序进行排序。 在复杂度方面,此实现为所有基本操作(例如添加,删除,包含)提供了 log(n)时间成本。 +Java `TreeSet`类是一个基于[`TreeMap`](https://docs.oracle.com/javase/8/docs/api/java/util/TreeMap.html)的[`NavigableSet`](https://docs.oracle.com/javase/8/docs/api/java/util/NavigableSet.html)实现。 元素可以通过[`Comparator`](https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html)进行排序,也可以仅通过其自然排序进行排序。 在复杂度方面,此实现为所有基本操作(例如添加,删除,包含)提供了`log(n)`时间成本。 ![java-featured-image](img/e0db051dedc1179e7424b6d998a6a772.jpg) ## 关于 Java 中的`TreeSet`的重要知识 -* TreeSet 实现 SortedSet 接口,这意味着不允许重复值。 -* 异构对象不能插入 TreeSet 中,因为它不允许这样做。 它将在运行时引发 classCastException。 -* TreeSet 类不保留元素的插入顺序,但是元素按其键排序。 -* TreeSet 中的元素以升序和排序顺序存储。 +* `TreeSet`实现`SortedSe`接口,这意味着不允许重复值。 +* 异构对象不能插入`TreeSet`中,因为它不允许这样做。 它将在运行时引发`classCastException`。 +* `TreeSet`类不保留元素的插入顺序,但是元素按其键排序。 +* `TreeSet`中的元素以升序和排序顺序存储。 ## Java 中`TreeSet`的局限性 @@ -25,29 +25,29 @@ Java TreeSet 类是一个基于 [TreeMap](https://docs.oracle.com/javase/8/docs/ ## `TreeSet`中的构造方法 -1. TreeSet():构造一个新的空树集,并根据其元素的自然顺序进行排序 -2. TreeSet(Collection <?扩展 E > c):构造一个新树集,该树集包含指定集合中的元素,并根据其元素的自然顺序对其进行排序。 -3. TreeSet(Comparator <?super E >比较器):构造一个空树集,该树集根据指定的比较器排序。 -4. TreeSet(SortedSet < E > s):构造一个与指定集合完全相同的新树集,包括元素的顺序。 +1. `TreeSet()`:构造一个新的空树集,并根据其元素的自然顺序进行排序 +2. `TreeSet(Collection c)`:构造一个新树集,该树集包含指定集合中的元素,并根据其元素的自然顺序对其进行排序。 +3. `TreeSet(Comparator comparator)`:构造一个空树集,该树集根据指定的比较器排序。 +4. `TreeSet(SortedSet s)`:构造一个与指定集合完全相同的新树集,包括元素的顺序。 ## `TreeSet`中的方法 -1. void add(Object o):根据 TreeSet 中的某些排序顺序添加指定的元素。 不会添加重复项。 -2. void clear():从树集中删除所有元素。 -3. boolean contains(Object o):如果树集中存在给定元素,则返回 true,否则返回 false。 -4. 对象 first():返回树集中的第一个元素。 -5. Object last():返回树集中的最后一个元素。 -6. boolean isEmpty():如果树集不包含任何元素,则返回 true,否则返回 false。 -7. Object clone():返回树集的浅表副本。 -8. int size():返回树集中的元素数量。 -9. Iterator iterator():返回用于迭代树集元素的迭代器。 -10. Comparator 比较器():返回用于对 TreeSet 中的元素进行排序的 Comparator。 +1. `void add(Object o)`:根据`TreeSet`中的某些排序顺序添加指定的元素。 不会添加重复项。 +2. `void clear()`:从树集中删除所有元素。 +3. `boolean contains(Object o)`:如果树集中存在给定元素,则返回`true`,否则返回`false`。 +4. `Object first()`:返回树集中的第一个元素。 +5. `Object last()`:返回树集中的最后一个元素。 +6. `boolean isEmpty()`:如果树集不包含任何元素,则返回`true`,否则返回`false`。 +7. `Object clone()`:返回树集的浅表副本。 +8. `int size()`:返回树集中的元素数量。 +9. `Iterator iterator()`:返回用于迭代树集元素的迭代器。 +10. `Comparator comparator()`:返回用于对`TreeSet`中的元素进行排序的`Comparator`。 有关所有方法的文档,请访问 [Oracle 官方文档页面](https://docs.oracle.com/javase/8/docs/api/?java/util/TreeSet.html)。 ### 使用`add()`在`TreeSet`中添加元素 -语法:treeSet.add(对象 o) +语法:`treeSet.add(Object o)` ```java import java.io.*; @@ -77,9 +77,9 @@ TreeSet: [Elephant, Tiger, Lion] 语法: -treeSet.first() +`treeSet.first()` -treeSet.last() +`treeSet.last()` ```java import java.io.*; @@ -111,7 +111,7 @@ The last element: Lion ### 使用`contains()`检查元素是否在树集中 -语法:treeSet.contains(对象元素) +语法:`treeSet.contains(Object element)` ```java import java.io.*; @@ -143,7 +143,7 @@ Is 'Lion' in the tree set? true ### 使用`remove()`从树集中删除一个元素 -语法:treeSet.remove(Object o) +语法:`treeSet.remove(Object o)` ```java import java.io.*; @@ -175,7 +175,7 @@ TreeSet: [Tiger] ### 使用`size()`获取树集中的元素数量 -语法:treeSet.size() +语法:`treeSet.size()` ```java import java.util.*; @@ -206,7 +206,7 @@ The size of the tree set is: 3 ### 使用`isEmpty()`检查树集是否为空 -语法:treeSet.isEmpty() +语法:`treeSet.isEmpty()` ```java import java.util.*;