In Rust, ist ein Vektor ein Iterator?

Ist es richtig zu sagen, dass ein Vektor (neben anderen Sammlungstypen) ein @ isIterator?

Zum Beispiel kann ich einen Vektor wie folgt durchlaufen, weil er das @ implementierIterator Merkmal (wie ich es verstehe):

let v = vec![1, 2, 3, 4, 5];

for x in &v {
    println!("{}", x);
}

Allerdings, wenn ich Funktionen verwenden möchte, die Teil des @ siIterator Merkmal (wiefold, map oderfilter) warum muss ich zuerst @ anrufiter() auf diesem Vektor?

Ein anderer Gedanke, den ich hatte, war vielleicht, dass ein Vektor in ein @ umgewandelt werden kaIterator, und in diesem Fall ist die obige Syntax sinnvoller.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage