Skip to content

Rust:collect

springroll edited this page Dec 9, 2019 · 1 revision

collect()

Overview

イテレータのメソッドcollect関数はイテレータをコレクションに変換する

Code

  • String型Vec<char>に変換
fn main(){
    let s = String::from("hoge");
    let s = s.chars();
    println!("{:?}", s);    // Chars(['h','o','g','e'])
    let s: Vec<char> = s.collect();
    println!("{:?}", s);    // ['h','o','g','e']
}
  • vector型B木で実装されたSetに変換
fn main(){
    use std::collections::BTreeSet;
    let v = vec![1, 2, 2, 3, 4, 4];
    println!("{:?}", v.iter().cloned());  // Cloned { it: Iter([1, 2, 2, 3, 4, 4]) }
    let a: BTreeSet<u32> = v.iter().cloned().collect();
    println!("{:?}", a);     // {1,2,3,4}
}

Detail

Clone this wiki locally