Collections
ปกติเวลาเราใช้ Array หรือ Tuple ข้อมูลมันจะวางอยู่บน Stack (ถ้าขนาดคงที่) แต่ Collections พวกนี้ข้อมูลจะอยู่บน Heap ครับ แปลว่าขนาดมันยืดหดได้ตามใจชอบ
ลองนึกภาพว่า Collections เป็นเหมือน “กล่องมายากล” ที่ใส่ของได้เรื่อยๆ ไม่มีจำกัดขนาด!
1. Vector (Vec)
Section titled “1. Vector (Vec)”Vector ก็คือ Array ที่เพิ่มลดขนาดได้
1.1 Creating Vectors
Section titled “1.1 Creating Vectors”fn main() { // ============================================ // Vec::new() = สร้าง Vector ว่าง // ============================================ let mut v1: Vec<i32> = Vec::new(); v1.push(1); v1.push(2); v1.push(3);
// ============================================ // vec! macro = สร้างพร้อมค่าเริ่มต้น // ============================================ let v2 = vec![1, 2, 3]; let v3 = vec![0; 5]; // [0, 0, 0, 0, 0]
// ============================================ // with_capacity() = กำหนดความจุล่วงหน้า // ดีสำหรับ performance ถ้ารู้ขนาดโดยประมาณ // ============================================ let mut v4: Vec<i32> = Vec::with_capacity(100);
println!("v1: {:?}", v1); println!("v2: {:?}", v2); println!("v3: {:?}", v3); println!("v4 capacity: {}, len: {}", v4.capacity(), v4.len());}เข้าสู่ระบบเพื่อดูเนื้อหาเต็ม
ยืนยันตัวตนด้วยบัญชี Google เพื่อปลดล็อกบทความทั้งหมด
Login with Google