【发布时间】:2018-05-18 02:39:20
【问题描述】:
我已经解析了一个文件,将字符串逐行拆分,并希望在每个向量中只保留唯一元素。我希望vec.dedup() 可以这样工作:
let mut vec = vec!["a", "b", "a"];
vec.dedup();
assert_eq!(vec, ["a", "b"]);
但它失败了:
thread 'main' panicked at 'assertion failed: `(left == right)`
left: `["a", "b", "a"]`,
right: `["a", "b"]`', src/main.rs:4:4
如何删除重复项?
【问题讨论】:
-
文档指出 dedup 只会删除连续的重复项。也许先排序? doc.rust-lang.org/std/vec/struct.Vec.html