Cómo iterar sobre un HashMap, imprimiendo clave/valor, y eliminar elementos en Rust?
¡Hola a todos! Soy nuevo en Rust y estoy intentando resolver un problema simple: tengo un `HashMap` y quiero recorrer todos sus elementos, imprimir los pares "clave-valor" y luego eliminar algunos según una condición (por ejemplo, todos donde el valor sea menor que 10). El problema es que el borrow checker no me lo permite.
Aquí está mi código que no compila:
```rust
use std::collections::HashMap;
fn main() {
let mut map = HashMap::new();
map.insert("apple".to_string(), 5);
map.insert("banana".to_string(), 15);
map.insert("cherry".to_string(), 3);
for (key, value) in &map {
println!("{}: {}", key, value);
if *value < 10 {
map.remove(key); // ¡Error!
}
}
}
```
El compilador da el error: `cannot borrow 'map' as mutable because it is also borrowed as immutable`. Entiendo que esto está relacionado con las reglas de borrowing, pero no sé cómo sortear esta limitación correctamente. Probé usar `.iter()` y `.iter_mut()`, pero igualmente