📅  最后修改于: 2023-12-03 14:42:53.074000             🧑  作者: Mango
在Java中,TreeSet是基于TreeMap实现的,它实现了SortedSet接口,可以对元素进行排序。TreeSet中的元素是按照排序顺序进行存储的,并且不能包含重复的元素。
TreeSet中的subSet()方法可以返回一个子集,该子集是从指定的起始元素(包括)到指定的结束元素(不包括)的元素。下面是该方法的使用方式:
public SortedSet<E> subSet(E fromElement, E toElement)
在上面的代码中,fromElement参数指定子集的起始元素(包括),toElement参数指定子集的结束元素(不包括)。
subSet()方法返回一个SortedSet接口的子集实例,该实例包含了范围从fromElement到toElement的元素。这个子集是由TreeSet实例返回的,所以它具有TreeSet的所有特征和限制。
下面是一些关于TreeSet subSet()方法的使用注意事项:
下面是一个示例程序,演示了如何使用TreeSet subSet()方法:
import java.util.TreeSet;
public class TreeSetExample {
public static void main(String[] args) {
TreeSet<Integer> treeSet = new TreeSet<>();
treeSet.add(10);
treeSet.add(20);
treeSet.add(30);
treeSet.add(40);
treeSet.add(50);
System.out.println("Original TreeSet: " + treeSet);
System.out.println("SubSet from 20 to 40: " + treeSet.subSet(20, 40));
System.out.println("SubSet from 10 to 30: " + treeSet.subSet(10, 30));
// adding element not in the subset
// throws IllegalArgumentException
// treeSet.subSet(20, 40).add(60);
}
}
在上面的代码中,创建了一个包含整数的TreeSet。然后,使用subSet()方法创建了两个子集,一个包含20到40之间的元素,另一个包含10到30之间的元素。
程序的输出如下所示:
Original TreeSet: [10, 20, 30, 40, 50]
SubSet from 20 to 40: [20, 30]
SubSet from 10 to 30: [10, 20, 30]
在上面的输出中,可以看到两个使用subSet()方法创建的子集。
总的来说,TreeSet subSet()方法是一个非常有用的方法,可以帮助我们创建包含一定范围元素的子集。