java.util.LinkedList không cho phép bạn nhanh chóng xóa một đối tượng đã cho trong danh sách. Phương thức remove (object) thực hiện tìm kiếm tuyến tính để tìm đối tượng trong danh sách để nó có thể loại bỏ nó. Vì đây là một danh sách liên kết kép, nên xóa bỏ bằng cách chỉ cập nhật các con trỏ (node.prev và node.next).Danh sách liên kết Java hỗ trợ loại bỏ nhanh bất kỳ nút nào?
Giải pháp chuẩn Java cho vấn đề này là gì?
NOTE1: Tôi không muốn xóa trong khi lặp lại. Tôi biết đó là nhanh, nhưng tôi không lặp lại thông qua các yếu tố của tôi ở nơi đầu tiên.
CHÚ Ý2: Để làm cho nó đơn giản: Cho một đối tượng O mà tôi biết nó nằm trong danh sách liên kết kép, tôi muốn xóa O nhanh khỏi danh sách đó (bằng cách cập nhật con trỏ) mà không phải tìm kiếm tuyến tính danh sách, như java.util.LinkedList.
Nếu bạn loại bỏ nó bằng cách sử dụng trình lặp, nó không thực hiện tìm kiếm một lần nữa. – Dervall
Hoặc tôi không hiểu câu hỏi của bạn hoặc bạn không hiểu cách thức các danh sách liên kết đôi hoạt động. Bạn có chắc là bạn nên sử dụng danh sách được liên kết không? Có lẽ một loại lưu trữ là thích hợp hơn? Bất kỳ làm rõ bạn có thể thêm vào để giúp tôi hiểu những gì bạn đang * thực sự * nhận được tại? –
Đã thêm ghi chú. Tôi KHÔNG muốn xóa trong khi lặp lại. – chrisapotek