面试题答案
一键面试map的使用场景
map
通常用于对集合中的每个元素进行转换操作。比如将一个包含数字的集合,每个数字转换为其平方;或者将字符串集合中的每个字符串转换为大写形式等场景。
map代码示例
fn main() {
let numbers = vec![1, 2, 3, 4, 5];
let doubled_numbers: Vec<i32> = numbers.iter().map(|&x| x * 2).collect();
println!("{:?}", doubled_numbers);
}
filter的使用场景
filter
用于从集合中筛选出符合特定条件的元素。比如从一个包含成绩的集合中筛选出及格的成绩;或者从一个字符串集合中筛选出长度大于5的字符串等场景。
filter代码示例
fn main() {
let numbers = vec![5, 15, 20, 8, 25];
let filtered_numbers: Vec<i32> = numbers.iter().filter(|&&x| x > 10).collect();
println!("{:?}", filtered_numbers);
}