Метод headSet
Метод headSet класса TreeSet возвращает новое множество,
содержащее все элементы исходного множества, которые меньше заданного
значения. Элементы в возвращаемом множестве упорядочены по возрастанию.
В первый параметр мы передаем значение, до которого нужно взять элементы
(не включая его). Второй и третий параметры необязательны: второй
указывает, включать ли граничное значение, третий позволяет ограничить
выборку сверху.
Синтаксис
treeSet.headSet(toElement, [inclusive], [fromElement])
Пример
Давайте создадим множество чисел и получим все элементы, которые
меньше 3:
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);
TreeSet<Integer> res = new TreeSet<>(set.headSet(3));
System.out.println(res);
}
}
Результат выполнения кода:
[1, 2]
Пример
Давайте включим граничное значение 3 в результат,
передав второй параметр true:
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);
TreeSet<Integer> res = new TreeSet<>(set.headSet(3, true));
System.out.println(res);
}
}
Результат выполнения кода:
[1, 2, 3]
Пример
Давайте ограничим выборку снизу, передав третий параметр 2:
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);
TreeSet<Integer> res = new TreeSet<>(set.headSet(5, false, 2));
System.out.println(res);
}
}
Результат выполнения кода:
[2, 3, 4]
Пример
Давайте получим все элементы множества строк, которые меньше "c":
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.headSet("c"));
System.out.println(res);
}
}
Результат выполнения кода:
[a, b]