Trang chủ
PHASE 2: LOGIC & TỰ ĐỘNG HÓA (DAY 31 - 50)/Ngày 46/100
DAY 46🇯🇵 コレクション (Lựa chọn CTDL)
Collections List/Set/Map - Hộp đựng đồ vạn năng
46%
Quảng cáo • Advertisement
📢 Sponsor Ad
Google AdSense
lesson.content.title
lesson.content.subtitle
🎯 Đừng dùng Array cho mọi thứ!
Array (Mảng) giống như cái khay đựng trứng. Cố định số lượng, muốn thêm quả thứ 13 thì phải mua khay mới. Rất phiền.
Java/C# cung cấp bộ Collections Framework xịn xò hơn nhiều.
1. List (Danh sách) - "Sổ Nam Tào"
- Đặc điểm: Có thứ tự (Index 0, 1, 2...), Chấp nhận trùng lặp (Hai người tên Tuấn vẫn OK).
- Khi nào dùng: Khi thứ tự quan trọng (Danh sách bài hát, Lịch sử giao dịch).
- Các loại:
ArrayList: Truy cập nhanh (O(1)), Thêm/Xóa chậm (phải dời chỗ cả làng).LinkedList: Thêm/Xóa nhanh (chỉ cần nối lại xích), Truy cập chậm (phải mò từ đầu).
2. Set (Tập hợp) - "Cái túi thần kỳ"
- Đặc điểm: KHÔNG TRÙNG LẶP. Thứ tự lộn xộn.
- Khi nào dùng: Lọc trùng (Ví dụ: Danh sách Email khách hàng để gửi mail, không muốn 1 người nhận 2 lần).
- Đại diện:
HashSet(Siêu nhanh).
3. Map (Bản đồ/Từ điển) - "Cuốn từ điển"
- Đặc điểm: Lưu theo cặp Key - Value. Key là duy nhất.
- Khi nào dùng: Tra cứu (Lookup). Có Mã SV -> Tìm ra tên SV. Có ID -> Tìm ra User.
- Đại diện:
HashMap.
🔥 Cheat Sheet phỏng vấn:
- Cần danh sách duy nhất? -> Set
- Cần tra cứu nhanh theo ID? -> Map
- Cần duy trì thứ tự thêm vào? -> List
- Cần hàng đợi (Vào trước ra trước)? -> Queue
- Cần ngăn xếp (Vào sau ra trước)? -> Stack
Quảng cáo • Advertisement
📢 Ad Space
Google AdSense