BTreeMap en Rust
Un mapa ordenado: la iteración sigue las claves, y puedes pedir un rango.
use std::collections::BTreeMap;
fn main() {
let mut runs = BTreeMap::new();
runs.insert("2026-07-02", 91);
runs.insert("2026-07-29", 104);
runs.insert("2026-07-14", 98);
for (day, tpm) in &runs {
println!("{day} {tpm}");
}
for (day, tpm) in runs.range("2026-07-10".."2026-07-20") {
println!("mid month: {day} {tpm}");
}
println!("{:?}", runs.first_key_value());
}
Cómo funciona
- Las claves quedan ordenadas, así que la iteración es determinista.
rangeselecciona una porción del espacio de claves.first_key_valuelee la entrada más pequeña.
Palabras clave y builtins usados aquí
fnforinletmutuse
El intento, en números
- Líneas
- 18
- Caracteres a escribir
- 367
- Tokens
- 115
- Ritmo de tres estrellas
- 90 tpm
Al ritmo de tres estrellas de 90 tokens por minuto, este intento toma unos 77 segundos.
Paso 7 de 8 en Colecciones; paso 36 de 39 en Fundamentos del lenguaje.