Метод range класса BTreeSet
Метод range класса BTreeSet возвращает итератор,
который проходит по всем элементам множества, попадающим
в заданный диапазон. Диапазон задаётся с помощью
синтаксиса .., ..=, .. с границами
или с использованием Bound. Параметром метод принимает
диапазон значений, которые нужно включить в итерацию.
Итератор возвращает элементы в порядке возрастания.
Синтаксис
btreeset.range(range)
Пример
Давайте создадим множество и получим все элементы
в диапазоне от 2 до 4 включительно:
use std::collections::BTreeSet;
fn main()
{
let mut set = BTreeSet::new();
set.insert(1);
set.insert(2);
set.insert(3);
set.insert(4);
set.insert(5);
for val in set.range(2..=4) {
println!("{}", val);
}
}
Результат выполнения кода:
2
3
4
Пример
Давайте получим элементы в диапазоне от 2
до 4 не включая правую границу:
use std::collections::BTreeSet;
fn main()
{
let mut set = BTreeSet::new();
set.insert(1);
set.insert(2);
set.insert(3);
set.insert(4);
set.insert(5);
for val in set.range(2..4) {
println!("{}", val);
}
}
Результат выполнения кода:
2
3
Пример
Давайте соберём элементы диапазона в вектор и выведем его:
use std::collections::BTreeSet;
fn main()
{
let mut set = BTreeSet::new();
set.insert(1);
set.insert(2);
set.insert(3);
set.insert(4);
set.insert(5);
let res: Vec<_> = set.range(3..).collect();
println!("{:?}", res);
}
Результат выполнения кода:
[3, 4, 5]