Tôi cần lặp lại thông qua LinkedList<T>
(trong .NET 2.0) và xóa tất cả các mục theo một tiêu chí nhất định. Đó là cách dễ dàng dưới Java, kể từ khi tôi có thể làm như sau:LinkedList <T> (2.0): xóa các mục lặp lại
Iterator<E> i = list.iterator();
while (i.hasNext()) {
E e = i.next();
if (e == x) {
// Found, so move it to the front,
i.remove();
list.addFirst(x);
// Return it
return x;
}
}
Thật không may, trong hành vi NET của IEnumerator<T>
(tương đương với Iterator<E>
) không có remove
phương pháp để loại bỏ các yếu tố hiện tại từ bộ sưu tập. Ngoài ra, trong các LinkedList<T>
không có cách nào để truy cập vào một phần tử tại một chỉ mục nhất định, để hoàn thành nhiệm vụ bằng cách lặp lại từ phần tử cuối cùng đến đầu tiên.
Bạn có ý tưởng nào về cách thực hiện không? Cảm ơn nhiều!
Tại sao là này một wiki cộng đồng? Nó không phải là một điều chủ quan - có một câu trả lời rõ ràng ở đây. –