Перебор пар ключ-значение в Rust: методы циклического перебора коллекций

В Rust, если у вас есть коллекция пар ключ-значение, вы можете перебирать их, используя цикл for. Для этого можно использовать несколько различных методов:

  1. Использование iter()и for_each(): вы можете вызвать метод iter()в коллекции, чтобы получить итератор по парам ключ-значение. Затем вы можете использовать метод for_each()для перебора каждой пары. Вот пример:
let map = hashmap!{"key1" => "value1", "key2" => "value2", "key3" => "value3"};
map.iter().for_each(|(key, value)| {
    // Do something with key and value
    println!("Key: {}, Value: {}", key, value);
});
  1. Использование сопоставления с образцом в цикле for: Rust позволяет использовать сопоставление с образцом в цикле forдля непосредственной деструктуризации пар ключ-значение. Вот пример:
let map = hashmap!{"key1" => "value1", "key2" => "value2", "key3" => "value3"};
for (key, value) in &map {
    // Do something with key and value
    println!("Key: {}, Value: {}", key, value);
}
  1. Использование into_iter()и деструктуризации кортежа. Если вы хотите использовать коллекцию и стать владельцем пар ключ-значение, вы можете использовать метод into_iter(). и деструктуризация кортежей. Вот пример:
let map = hashmap!{"key1" => "value1", "key2" => "value2", "key3" => "value3"};
for (key, value) in map.into_iter() {
    // Do something with key and value
    println!("Key: {}, Value: {}", key, value);
}

Это несколько методов, которые вы можете использовать для перебора пар ключ-значение в Rust. Каждый метод имеет свои преимущества в зависимости от вашего конкретного случая использования.