當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Rust Vec.dedup_by用法及代碼示例


本文簡要介紹rust語言中 std::vec::Vec.dedup_by 的用法。

用法

pub fn dedup_by<F>(&mut self, same_bucket: F) where    F: FnMut(&mut T, &mut T) -> bool,

刪除滿足給定等式關係的向量中除了第一個連續元素之外的所有元素。

same_bucket 函數傳遞對向量中兩個元素的引用,並且必須確定元素比較是否相等。元素的傳遞順序與它們在切片中的順序相反,因此如果 same_bucket(a, b) 返回 true ,則會刪除 a

如果向量已排序,則會刪除所有重複項。

例子

let mut vec = vec!["foo", "bar", "Bar", "baz", "bar"];

vec.dedup_by(|a, b| a.eq_ignore_ascii_case(b));

assert_eq!(vec, ["foo", "bar", "baz", "bar"]);

相關用法


注:本文由純淨天空篩選整理自rust-lang.org大神的英文原創作品 std::vec::Vec.dedup_by。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。