本文简要介绍rust语言中 std::collections::hash_set::HashSet.get_or_insert_owned
的用法。
用法
pub fn get_or_insert_owned<Q: ?Sized>(&mut self, value: &Q) -> &T where T: Borrow<Q>, Q: Hash + Eq + ToOwned<Owned = T>,
如果给定value
的拥有副本不存在,则将其插入到集合中,然后返回对集合中值的引用。
例子
#![feature(hash_set_entry)]
use std::collections::HashSet;
let mut set: HashSet<String> = ["cat", "dog", "horse"]
.iter().map(|&pet| pet.to_owned()).collect();
assert_eq!(set.len(), 3);
for &pet in &["cat", "dog", "fish"] {
let value = set.get_or_insert_owned(pet);
assert_eq!(value, pet);
}
assert_eq!(set.len(), 4); // a new "fish" was inserted
相关用法
- Rust HashSet.get_or_insert_with用法及代码示例
- Rust HashSet.get_or_insert用法及代码示例
- Rust HashSet.get用法及代码示例
- Rust HashSet.insert用法及代码示例
- Rust HashSet.is_superset用法及代码示例
- Rust HashSet.shrink_to用法及代码示例
- Rust HashSet.with_hasher用法及代码示例
- Rust HashSet.with_capacity用法及代码示例
- Rust HashSet.difference用法及代码示例
- Rust HashSet.try_reserve用法及代码示例
- Rust HashSet.hasher用法及代码示例
- Rust HashSet.drain_filter用法及代码示例
- Rust HashSet.is_empty用法及代码示例
- Rust HashSet.shrink_to_fit用法及代码示例
- Rust HashSet.len用法及代码示例
- Rust HashSet.drain用法及代码示例
- Rust HashSet.new用法及代码示例
- Rust HashSet.remove用法及代码示例
- Rust HashSet.reserve用法及代码示例
- Rust HashSet.with_capacity_and_hasher用法及代码示例
- Rust HashSet.contains用法及代码示例
- Rust HashSet.replace用法及代码示例
- Rust HashSet.clear用法及代码示例
- Rust HashSet.union用法及代码示例
- Rust HashSet.is_subset用法及代码示例
注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 std::collections::hash_set::HashSet.get_or_insert_owned。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。