РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
736 of 1245 menu

Метод range

Метод range возвращает итератор, который обходит элементы BTreeMap в порядке возрастания ключей, попадающих в заданный диапазон. Параметром метод принимает диапазон ключей, который можно задать с помощью синтаксиса .. (исключая верхнюю границу), ..= (включая верхнюю границу), .. (от начала), .. (до конца) или комбинаций с Bound. Метод возвращает итератор типа Range, который выдаёт пары (&K, &V).

Синтаксис

map.range(range)

Пример

Давайте создадим BTreeMap с числовыми ключами и получим все элементы, ключи которых находятся в диапазоне от 2 до 4 (не включая 4):

use std::collections::BTreeMap; fn main() { let mut map = BTreeMap::new(); map.insert(1, "a"); map.insert(2, "b"); map.insert(3, "c"); map.insert(4, "d"); map.insert(5, "e"); for (key, value) in map.range(2..4) { println!("{}: {}", key, value); } }

Результат выполнения кода:

2: "b" 3: "c"

Пример

Давайте используем диапазон с включением верхней границы 2..=4:

use std::collections::BTreeMap; fn main() { let mut map = BTreeMap::new(); map.insert(1, "a"); map.insert(2, "b"); map.insert(3, "c"); map.insert(4, "d"); map.insert(5, "e"); for (key, value) in map.range(2..=4) { println!("{}: {}", key, value); } }

Результат выполнения кода:

2: "b" 3: "c" 4: "d"

Пример

Давайте получим все элементы, начиная с ключа 3 и до конца коллекции:

use std::collections::BTreeMap; fn main() { let mut map = BTreeMap::new(); map.insert(1, "a"); map.insert(2, "b"); map.insert(3, "c"); map.insert(4, "d"); map.insert(5, "e"); for (key, value) in map.range(3..) { println!("{}: {}", key, value); } }

Результат выполнения кода:

3: "c" 4: "d" 5: "e"

Пример

Давайте получим все элементы, ключи которых меньше 4:

use std::collections::BTreeMap; fn main() { let mut map = BTreeMap::new(); map.insert(1, "a"); map.insert(2, "b"); map.insert(3, "c"); map.insert(4, "d"); map.insert(5, "e"); for (key, value) in map.range(..4) { println!("{}: {}", key, value); } }

Результат выполнения кода:

1: "a" 2: "b" 3: "c"

Пример

Давайте создадим BTreeMap со строковыми ключами и получим элементы в диапазоне от "b" до "d":

use std::collections::BTreeMap; fn main() { let mut map = BTreeMap::new(); map.insert("a", 1); map.insert("b", 2); map.insert("c", 3); map.insert("d", 4); map.insert("e", 5); for (key, value) in map.range("b".."d") { println!("{}: {}", key, value); } }

Результат выполнения кода:

"b": 2 "c": 3

Смотрите также

  • класс BTreeMap,
    который представляет собой упорядоченную коллекцию ключ-значение
  • метод get,
    который возвращает значение по указанному ключу
  • метод first_key_value,
    который возвращает первый элемент коллекции
  • метод last_key_value,
    который возвращает последний элемент коллекции
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить