How to Remove Specific Item from a Vector in Rust


How to Remove Specific Item from a Vector in Rust ?

Answer

To remove a specific item from a vector in Rust, you can use the retain method or the iter().filter() method.



✐ Examples

1 Remove Specific Item Using retain Method

In this example,

  1. We start by creating a mutable vector named vec with some integer values.
  2. We specify the item we want to remove and store it in a variable named item_to_remove.
  3. We use the retain method to remove the specified item. The retain method takes a closure that determines which elements to keep; elements for which the closure returns false are removed.
  4. In the closure, we compare each element with item_to_remove and return true only if the element is not equal to item_to_remove.
  5. Finally, we print the modified vector to see the result.

Rust Program

fn main() {
    let mut vec = vec![10, 20, 30, 40, 50];
    let item_to_remove = 30;
    vec.retain(|&x| x != item_to_remove);
    println!("Vector after removing the item {}: {:?}", item_to_remove, vec);
}

Output

Vector after removing the item 30: [10, 20, 40, 50]

2 Remove Specific Item Using iter().filter() Method

In this example,

  1. We start by creating a vector named vec with some integer values.
  2. We specify the item we want to remove and store it in a variable named item_to_remove.
  3. We use the iter() method to create an iterator over the vector.
  4. We then use the filter method to create a new iterator that only includes elements not equal to item_to_remove. The filter method takes a closure that returns true for elements to keep and false for elements to exclude.
  5. We collect the results into a new vector using the collect method.
  6. Finally, we print the new vector to see the result.

Rust Program

fn main() {
    let vec = vec![10, 20, 30, 40, 50];
    let item_to_remove = 30;
    let vec_new: Vec<i32> = vec.iter().filter(|&&x| x != item_to_remove).cloned().collect();
    println!("Vector after removing the item {}: {:?}", item_to_remove, vec_new);
}

Output

Vector after removing the item 30: [10, 20, 40, 50]

Summary

In this tutorial, we learned How to Remove Specific Item from a Vector in Rust language with well detailed examples.




More Rust Vectors Tutorials

  1. How to create an Empty Vector in Rust ?
  2. How to Initialize a Vector in Rust ?
  3. How to Get Length of a Vector in Rust ?
  4. How to create a Vector of Size N in Rust ?
  5. How to create a Vector of Numbers from 1 to N in Rust ?
  6. How to create a Vector of Integers in Rust ?
  7. How to create a Vector of Strings in Rust ?
  8. How to create a Vector of Empty Vectors in Rust ?
  9. How to Access Items in a Vector in Rust ?
  10. How to get Item in a Vector at a Specific Index in Rust ?
  11. How to get First Item in a Vector in Rust ?
  12. How to get Last Item in a Vector in Rust ?
  13. How to Iterate Over a Vector in Rust ?
  14. How to Iterate Over a Vector with Index in Rust ?
  15. How to Iterate Over a Vector in Reverse Order in Rust ?
  16. How to check if a Vector is Empty in Rust ?
  17. How to check if a Vector is Not Empty in Rust ?
  18. How to get Sub Vector in Rust ?
  19. How to get the Index of Specified Item in a Vector in Rust ?
  20. How to check if a Specific Item is present in the Vector in Rust ?
  21. How to check if a Vector contains all the items of Another Vector in Rust ?
  22. How to count the Number of Occurrences of Specific Item in the Vector in Rust ?
  23. How to find the Item with Maximum Number of Occurrences in a Vector in Rust ?
  24. How to find the Item with Minimum Number of Occurrences in a Vector in Rust ?
  25. How to Sort a Vector in Rust ?
  26. How to Sort a Vector in Ascending Order in Rust ?
  27. How to Sort a Vector in Descending Order in Rust ?
  28. How to create a Two Dimensional Vector in Rust ?
  29. How to Iterate over a Two Dimensional Vector in Rust ?
  30. How to create a Three Dimensional Vector in Rust ?
  31. How to Copy a Vector in Rust ?
  32. How to Split a Vector in Rust ?
  33. How to Join Vectors in Rust ?
  34. How to Append an Item to a Vector in Rust ?
  35. How to Insert an Item at Specific Index in a Vector in Rust ?
  36. How to Append a Vector to another Vector in Rust ?
  37. How to Concatenate Two Vectors in Rust ?
  38. How to check if Two Vectors are Equal in Rust ?
  39. How to check if Two Vectors have Same Items (Regardless of Order) in Rust ?
  40. How to Convert a Vector of Integers to a Vector of Strings in Rust ?
  41. How to Convert a Vector of Strings to a Vector of Integers in Rust ?
  42. How to Convert a Vector of Floats to a Vector of Strings in Rust ?
  43. How to Convert a Vector of Strings to a Vector of Floats in Rust ?
  44. How to Reverse a Vector in Rust ?
  45. How to Shuffle a Vector in Rust ?
  46. How to Slice a Vector in Rust ?
  47. How to get First N Items from a Vector in Rust ?
  48. How to get Last N Items from a Vector in Rust ?
  49. How to Rotate Items in a Vector in Rust ?
  50. How to Filter Items of a Vector based on a Condition in Rust ?
  51. How to Remove Duplicates in a Vector in Rust ?
  52. How to Remove Item at a Specific Index from a Vector in Rust ?
  53. How to Remove Specific Item from a Vector in Rust ?
  54. How to Remove Items from Vector based on a Condition in Rust ?
  55. How to Sort a String Vector in Dictionary Order in Rust ?
  56. How to Concatenate Strings in Vector in Rust ?
  57. How to create a Vector of Vectors in Rust ?