Convert HashMap to vector of tuples and sort by key or by value
examples/hashes/hash-to-vector-of-tuples/src/main.rs
use std::collections::HashMap; fn main() { let animals = HashMap::from([ ("cat", 2), ("dog", 3), ("snake", 4), ("crab", 5), ]); println!("animals: {animals:?}"); for pair in &animals { println!("{pair:?}"); } let mut animals = animals.iter().collect::<Vec<_>>(); animals.sort(); println!("animals: {animals:?}"); animals.sort_by_key(|entry| entry.1); println!("animals: {animals:?}"); }
animals: {"dog": 3, "snake": 4, "cat": 2, "crab": 5} ("dog", 3) ("snake", 4) ("cat", 2) ("crab", 5) animals: [("cat", 2), ("crab", 5), ("dog", 3), ("snake", 4)] animals: [("cat", 2), ("dog", 3), ("snake", 4), ("crab", 5)]