A vector in Rust is a growable list type that can store multiple values of the same type in a contiguous memory block. It allows adding, removing, and accessing elements dynamically.
Click to reveal answer
beginner
How do you add a single element to a vector in Rust?
You use the push() method. For example: vec.push(5); adds the value 5 to the end of the vector.
Click to reveal answer
beginner
What happens if you try to add elements to a vector that is not mutable?
You will get a compile-time error because vectors must be declared as mut to allow adding or changing elements.
Click to reveal answer
intermediate
How can you add multiple elements to a vector at once?
You can use the extend() method with an iterable, like another vector or slice. Example: vec.extend(&[1, 2, 3]); adds three elements.
Click to reveal answer
intermediate
What is the difference between push() and extend() when adding elements to a vector?
push() adds a single element to the vector, while extend() adds multiple elements from an iterable collection.
Click to reveal answer
Which method adds a single element to the end of a Rust vector?
Apush()
Bextend()
Cinsert()
Dappend()
✗ Incorrect
The push() method adds one element to the end of the vector.
What must you declare a vector as to add elements to it?
Aconst
Bstatic
Cmut
Dlet
✗ Incorrect
Vectors must be declared as mut to allow adding or modifying elements.
Which method adds multiple elements from a slice or another vector?
Aextend()
Bpush()
Cinsert()
Dremove()
✗ Incorrect
extend() adds multiple elements from an iterable like a slice or vector.
What will happen if you try to push an element to a non-mutable vector?
AIt will add the element successfully
BThe vector will be cloned
CRuntime error
DCompile-time error
✗ Incorrect
Rust requires vectors to be mutable to change them; otherwise, it causes a compile-time error.
Which of these is NOT a valid way to add elements to a vector?
Avec.push(10)
Bvec.add(5)
Cvec.extend(&[1, 2, 3])
Dvec.insert(0, 7)
✗ Incorrect
add() is not a method for vectors; use push(), extend(), or insert() instead.
Explain how to add elements to a vector in Rust and why mutability matters.
Think about how you change a list in real life and what Rust requires to allow changes.
You got /4 concepts.
Describe the difference between push() and extend() when working with vectors.
Compare adding one item versus adding a group of items to a shopping cart.
You got /4 concepts.
Practice
(1/5)
1. What does the push method do when used on a Rust vector?
easy
A. Removes the last element from the vector
B. Adds a new element to the end of the vector
C. Creates a new vector with one element
D. Sorts the elements in the vector
Solution
Step 1: Understand the purpose of push
The push method is used to add elements to a vector in Rust.
Step 2: Identify what push does specifically
It adds a new element to the end of the vector, increasing its size by one.
Final Answer:
Adds a new element to the end of the vector -> Option B
Quick Check:
push adds element [OK]
Hint: Remember: push always adds at the end [OK]
Common Mistakes:
Confusing push with pop (which removes elements)
Thinking push creates a new vector
Assuming push sorts the vector
2. Which of the following is the correct way to declare a mutable vector and add the number 10 to it in Rust?
easy
A. let v = Vec::new(); v.add(10);
B. let v = Vec::new(); v.push(10);
C. let mut v = Vec::new(); v.add(10);
D. let mut v = Vec::new(); v.push(10);
Solution
Step 1: Check vector mutability
To add elements, the vector must be mutable, so let mut v is required.
Step 2: Use correct method to add element
The method to add an element is push, not add.
Final Answer:
let mut v = Vec::new(); v.push(10); -> Option D
Quick Check:
Mutable vector + push method [OK]
Hint: Mutable vector + push method adds elements [OK]
Common Mistakes:
Forgetting to make the vector mutable
Using a non-existent method like add
Trying to push on an immutable vector
3. What will be the output of this Rust code?
let mut v = vec![1, 2];
v.push(3);
println!("{:?}", v);
medium
A. [1, 2]
B. Compilation error
C. [1, 2, 3]
D. [3, 1, 2]
Solution
Step 1: Understand initial vector content
The vector starts with elements [1, 2].
Step 2: Apply the push method
The push(3) adds 3 at the end, so vector becomes [1, 2, 3].
Final Answer:
[1, 2, 3] -> Option C
Quick Check:
push adds element at end [OK]
Hint: push adds element at the end of vector [OK]
Common Mistakes:
Expecting push to add at the start
Thinking push replaces elements
Assuming code causes error
4. Identify the error in this Rust code snippet:
let v = Vec::new();
v.push(5);
medium
A. Vector is not mutable, so push cannot be called
B. push method does not exist for vectors
C. Vec::new() cannot create an empty vector
D. Missing semicolon after Vec::new()
Solution
Step 1: Check vector mutability
The vector is declared as immutable with let v, so it cannot be changed.
Step 2: Understand push method requirements
The push method requires the vector to be mutable to add elements.
Final Answer:
Vector is not mutable, so push cannot be called -> Option A
Quick Check:
push needs mutable vector [OK]
Hint: Make vector mutable to use push [OK]
Common Mistakes:
Assuming push works on immutable vectors
Thinking Vec::new() is invalid
Ignoring mut keyword necessity
5. You want to add multiple elements [4, 5, 6] to an existing mutable vector v. Which code correctly adds all these elements efficiently?
hard
A. v.extend([4, 5, 6]);
B. v.push(4, 5, 6);
C. v.add([4, 5, 6]);
D. v.push([4, 5, 6]);
Solution
Step 1: Understand adding multiple elements
Using push adds one element at a time, so multiple calls are needed for multiple elements.
Step 2: Use the efficient method for multiple elements
The extend method adds all elements from an iterable at once, which is more efficient.
Final Answer:
v.extend([4, 5, 6]); -> Option A
Quick Check:
Use extend for multiple elements [OK]
Hint: Use extend to add many elements at once [OK]
Common Mistakes:
Using push with a whole array (causes error)
Using non-existent add method
Calling push multiple times instead of extend
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.