Good Day,Confirm Java LinkedList "foreach" lặp
Ai đó có thể xác nhận những gì đã nói ở dưới cùng của bài viết này java - iterating a linked list Các bài đề cập rằng bạn có thể sử dụng cho (char c: linkedlistofchars) cú pháp và nó vẫn sẽ là O (n). Tôi nghĩ rằng truy cập vào một danh sách giống như thế này ...
a b c d e f
thực sự sẽ chạy bắt đầu tại beggining của danh sách liên kết đến trong mỗi lần lặp của vòng lặp for, như thế này ...
a ab abc abcde abcdef
khiến thời gian truy cập không phải là O (n).
Chính xác hoạt động như thế nào? Nó có ý nghĩa với một mảng và các toán tử mảng, nhưng cú pháp java biết cách lặp qua danh sách liên kết bằng cách sử dụng vòng lặp foreach trong java?
Tôi nghĩ cấu trúc dữ liệu LinkedList chỉ là một thư viện bổ sung chứ không phải là một phần của cú pháp ngôn ngữ chính. (Tôi nhận ra rằng lớp LinkedList là tiêu chuẩn trong java)
Tôi hy vọng tôi đã giải thích mối quan tâm của tôi rõ ràng đủ .... Cảm ơn
vòng lặp foreach sử dụng Iterator do lớp cơ sở cung cấp. Vì vậy, nó sẽ thực sự là O (n). Xem [this] (http://stackoverflow.com/q/85190/845279) bài đăng. – user845279
Oh okay, tuyệt, cảm ơn bạn đã xác nhận. Bây giờ tôi có thể ngủ dễ dàng hơn :) – Matthew
Kiểm tra http://stackoverflow.com/questions/85190/how-does-the-java-for-each-loop-work để biết thêm chi tiết. – Butaca