Java 简明教程
Java - SortedSet Interface
SortedSet interface 扩展 Set 并声明按升序排列的集合的行为。除了 Set 定义的那些方法之外,SortedSet 接口还声明在下表中总结的方法 -
当调用集中不包含任何项时,若干方法会抛出 NoSuchElementException。当对象与集中元素不兼容时,会抛出 ClassCastException。
如果尝试使用 null 对象且集中不允许 null,则会抛出 NullPointerException。
SortedSet Interface Methods
Sr.No. |
Method & Description |
1 |
Comparator comparator( ) 返回调用排序集的比较器。如果对该集使用自然比较,则返回 null。 |
2 |
Object first( ) 返回调用排序集中的第一个元素。 |
3 |
SortedSet headSet(Object end) 返回一个 SortedSet,其中包含调用排序集中包含的那些小于 end 的元素。已返回排序集中元素还由调用排序集引用。 |
4 |
Object last( ) 返回调用排序集中的最后一个元素。 |
5 |
SortedSet subSet(Object start, Object end) 返回一个 SortedSet,其中包含 start 和 end 之间的那些元素。1.已返回集合中的元素还由调用对象引用。 |
6 |
SortedSet tailSet(Object start) 返回一个 SortedSet,其中包含排序集中包含的那些大于或等于 start 的元素。已返回集中的元素还由调用对象引用。 |
Operations on SortedSet Interface
Creating a SortedSet
TreeSet class 实现 SortedSet 接口。我们可以使用 TreeSet 构造函数来创建一个 SortedSet 实例。以下是用创建 SortedSet 实例的语法:
// Create the sorted set
SortedSet<String> set = new TreeSet<>();
此处,我们正在创建一个字符串值的有序集合。此映射将存储唯一的字符串值。如果添加了重复值,则该值将被丢弃。
Adding Value to a SortedSet
SortedSet 提供了一个 add() 方法,该方法可用于将值添加到 SortedSet 实例。每当将值添加到集合时,都会将其与现有值进行检查。如果集合已修改,则方法将返回 true,否则将返回 false。
public boolean add(E e)
其中 E 表示要添加的元素。如果元素已存在,则不执行任何操作,并且方法将返回 false。
// Add elements to the set
set.add("b");
set.add("c");
set.add("a");
Getting value from a SortedSet
为了从 SortedSet 获取值,我们必须使用 iterator() 方法从 SortedSet 获取迭代器对象。一旦迭代器对象可用,就可以使用该对象来检索 SortedSet 中存在的价值。
// Iterating over the elements in the set
Iterator it = set.iterator();
while (it.hasNext()) {
// Get element
Object element = it.next();
System.out.println(element.toString());
}
Deleting a value from a SortedSet
使用 remove(value) 方法,我们可以轻松地删除 SortedSet 中存储的值/对象。
public boolean remove(Object value)
如果值不在集合中,则它将返回 false,否则它将删除该值并返回 true。
set.remove("a");
Iterating SortedSet
SortedSet 条目可以轻松浏览。SortedSet 提供了一个方法 iterator(),该方法提供了一个迭代器来浏览集合的所有条目。
public Iterator<E> iterator()
其中 E 是要迭代的对象的类型。
// Iterating over the elements in the set
Iterator it = set.iterator();
while (it.hasNext()) {
// Get element
Object element = it.next();
System.out.println(element.toString());
}
Examples of SortedSet Interface
Adding Element to a SortedSet Example
SortedSet 在 TreeSet 等各种类中实现了其实现。以下是带有 add 操作的 TreeSet 类示例−
import java.util.Iterator;
import java.util.SortedSet;
import java.util.TreeSet;
public class SortedSetDemo {
public static void main(String[] args) {
// Create the sorted set
SortedSet<String> set = new TreeSet<>();
// Add elements to the set
set.add("b");
set.add("c");
set.add("a");
// Iterating over the elements in the set
Iterator it = set.iterator();
while (it.hasNext()) {
// Get element
Object element = it.next();
System.out.println(element.toString());
}
}
}
a
b
c
Removing Element from a SortedSet Example
SortedSet 在 TreeSet 等各种类中实现了其实现。以下是具有 add 和 remove 操作的 TreeSet 类示例 −
import java.util.Iterator;
import java.util.SortedSet;
import java.util.TreeSet;
public class SortedSetDemo {
public static void main(String[] args) {
// Create the sorted set
SortedSet<String> set = new TreeSet<>();
// Add elements to the set
set.add("b");
set.add("c");
set.add("a");
set.add("d");
set.add("e");
set.add("f");
// remove elements
set.remove("c");
set.remove("f");
// Iterating over the elements in the set
Iterator it = set.iterator();
while (it.hasNext()) {
// Get element
Object element = it.next();
System.out.println(element.toString());
}
}
}
a
b
d
e
Clearing a SortedSet Example
SortedSet 在 TreeSet 等各种类中实现了其实现。以下是具有 add 和 clear 操作的 TreeSet 类示例 −
import java.util.Iterator;
import java.util.SortedSet;
import java.util.TreeSet;
public class SortedSetDemo {
public static void main(String[] args) {
// Create the sorted set
SortedSet<String> set = new TreeSet<>();
// Add elements to the set
set.add("b");
set.add("c");
set.add("a");
set.add("d");
set.add("e");
set.add("f");
System.out.println(set);
// remove elements
set.clear();
System.out.println(set);
}
}
[a, b, c, d, e, f]
[]