Метод subSet
Метод subSet класса TreeSet возвращает
представление части множества в диапазоне от одного
элемента до другого. В первый параметр мы передаем
начальный элемент диапазона, во второй - конечный
элемент диапазона. Также можно передать третий и
четвертый параметры - логические флаги, которые
определяют, включать ли граничные элементы в диапазон.
По умолчанию начальный элемент включается, а конечный
не включается. Возвращаемое представление связано с
исходным множеством: изменения в нем отражаются на
оригинальном множестве.
Синтаксис
treeSet.subSet(fromElement, toElement)
treeSet.subSet(fromElement, fromInclusive, toElement, toInclusive)
Пример
Давайте создадим множество чисел и получим
подмножество от 2 до 5:
import java.util.TreeSet;
public class Main
{
public static void main(String[] args)
{
TreeSet<Integer> set = new TreeSet<>();
set.add(1);
set.add(2);
set.add(3);
set.add(4);
set.add(5);
set.add(6);
TreeSet<Integer> res = new TreeSet<>(set.subSet(2, 5));
System.out.println(res);
}
}
Результат выполнения кода:
[2, 3, 4]
Пример
Давайте включим конечный элемент в диапазон, передав логические флаги:
import java.util.TreeSet;
public class Main
{
public static void main(String[] args)
{
TreeSet<Integer> set = new TreeSet<>();
set.add(1);
set.add(2);
set.add(3);
set.add(4);
set.add(5);
set.add(6);
TreeSet<Integer> res = new TreeSet<>(set.subSet(2, true, 5, true));
System.out.println(res);
}
}
Результат выполнения кода:
[2, 3, 4, 5]
Пример
Давайте получим подмножество из множества строк:
import java.util.TreeSet;
public class Main
{
public static void main(String[] args)
{
TreeSet<String> set = new TreeSet<>();
set.add("a");
set.add("b");
set.add("c");
set.add("d");
set.add("e");
TreeSet<String> res = new TreeSet<>(set.subSet("b", "d"));
System.out.println(res);
}
}
Результат выполнения кода:
[b, c]