Rs
Module 4HashMap: Add, Get, RemoveLesson 8 of 2318 min

Remove, retain, drain, clear

remove returns old value; retain filters; clear empties.

remove

rust
let old = m.remove("bob"); // Option<V>

retain

rust
m.retain(|_k, v| *v >= 10); // keep matching

clear / len / is_empty

rust
m.clear();
assert!(m.is_empty());

Interview uses

  • Delete key when count hits 0 (anagrams, sliding window)
  • Clean up seen set/map between test cases
Challenge

Implement decrement_count(map, key) that removes key when count reaches 0.

Tips
  • remove returns Option
  • retain is in-place filter
  • Zero counts often deleted

Try it live

Remove, retain, drain, clearRust 2021
Loading editor…
Output
Press Run to compile and execute.