Rust — мощный язык системного программирования, обеспечивающий эффективное и безопасное управление памятью. При работе с парами ключ-значение Rust предлагает различные методы их перебора с использованием циклов for. В этой статье мы рассмотрим несколько методов перебора пар ключ-значение в Rust, сопровождаемые примерами кода. Итак, давайте углубимся и раскроем возможности итерации «ключ-значение»!
Метод 1. Использование метода iter()
Метод iter()
позволяет перебирать пары ключ-значение коллекции. Допустим, у нас есть HashMap с именем my_map
:
use std::collections::HashMap;
fn main() {
let mut my_map = HashMap::new();
my_map.insert("key1", "value1");
my_map.insert("key2", "value2");
for (key, value) in my_map.iter() {
println!("Key: {}, Value: {}", key, value);
}
}
.
Метод 2: использование метода into_iter()
Метод into_iter()
использует коллекцию, позволяя вам перемещать из нее пары ключ-значение. Вот пример использования BTreeMap:
use std::collections::BTreeMap;
fn main() {
let mut my_map = BTreeMap::new();
my_map.insert("key1", "value1");
my_map.insert("key2", "value2");
for (key, value) in my_map.into_iter() {
println!("Key: {}, Value: {}", key, value);
}
}
Метод 3: использование метода iter_mut()
Метод iter_mut()
обеспечивает изменяемый доступ к парам ключ-значение, что позволяет вам изменять их. Рассмотрим следующий пример с изменяемым HashMap:
use std::collections::HashMap;
fn main() {
let mut my_map = HashMap::new();
my_map.insert("key1", "value1");
my_map.insert("key2", "value2");
for (key, value) in my_map.iter_mut() {
*value = "updated value";
println!("Key: {}, Value: {}", key, value);
}
}
Метод 4: использование метода for_each
Метод for_each
доступен для коллекций, реализующих признак IntoIterator
. Это позволяет вам выполнять действие над каждой парой ключ-значение. Вот пример использования Vec кортежей:
fn main() {
let my_vec = vec![("key1", "value1"), ("key2", "value2")];
my_vec.into_iter().for_each(|(key, value)| {
println!("Key: {}, Value: {}", key, value);
});
}
В этой статье мы рассмотрели несколько методов перебора пар ключ-значение в Rust с использованием циклов for. Мы рассмотрели такие методы, как iter()
, into_iter()
, iter_mut()
и for_each()
. Используя эти методы, вы можете эффективно работать с парами ключ-значение в своих проектах Rust. Не забудьте выбрать метод, который лучше всего подходит для вашего конкретного случая использования. Приятного программирования на Rust!