[Interview Question] Link | Careerly

[Interview Question] LinkedList và ArrayList khác nhau thế nào? --- ⁉️ Câu hỏi: LinkedList và ArrayList khác nhau thế nào? Khi nào thì nên dùng Linked List, khi nào nên dùng Array? 💬 Trả lời: LinkedList và ArrayList và 2 cấu trúc dữ liệu dùng để lưu trữ nhiều phần tử theo một thứ tự nào đó. Một vài điểm khác biệt đặc trưng cần được nhấn mạnh là: - Cách thức lưu trữ trong bộ nhớ: LinkedList có nội dụng dữ liệu cần lưu trữ và con trỏ, trỏ đến phần tử tiếp theo nên có thể sử dụng các vùng nhớ rời rạc. ArrayList sử dụng một vùng nhớ cố định nằm gần nhau nên nó không cần con trỏ và chỉ lưu trữ nội dung dữ liệu. - Lợi thế: LinkedList nhanh hơn khi thay đổi về số lượng phần tử và chậm hơn khi truy cập dữ liệu trong danh sách các phần tử. ArrayList thì ngược lại. 🤔 Nguyên nhân đặt câu hỏi này: Dạng câu hỏi này thường dùng để kiểm tra xem bạn có thực sự hiểu mình đang làm gì hay không, hay chỉ copy paste miễn sao nó chạy. Dao gọt trái cây khác dao chặt thịt. Bạn vẫn có thể dùng dao chặt thịt gọt trái cây hay dao gọt trái cây đem đi chặt thịt nhưng chắc ai cũng hiểu nếu biết rõ về công cụ thì mới sử dụng thích hợp và hiệu quả được.

Difference between ArrayList and LinkedList - javatpoint

www.javatpoint.com

24 tháng 7 năm 2022 pm 12:33

Bình luận 1

  • Nói thêm về ArrayList, bản chất lưu dữ liệu vào một mảng động. Mảng này có kích thước không cố định, được expand khi đạt đết giới hạn. Việc expand này là copy toàn bộ dữ liệu trên mảng hiện tại sang một mảng mới với kích thước lớn hơn (thường là x2) và việc copy này có độ phức tạp là O(N). Trong khi LinkedList thì không cần expand mà chỉ đơn giản thêm các Node mới nối tiếp

TOP 10 bài viết của tuần

Đây là bài viết nổi bật tại Careerly vào tuần trước

Nhận thông tin "chất" nhất do chính người trong ngành chia sẻ

Careerly | Mạng lưới người Việt làm tại công ty công nghệ