Bài đăng

Hiển thị các bài đăng có nhãn Iterator

Sự khác nhau giữa Iterator và ListIterator trong Java

Khi sử dụng Java Collections ta thường hay sử dụng Iterator để duyệt danh sách giữa các phần tử, tuy nhiên ta cũng có một cách khác đó là sủ dụng ListIterator. Sự khác nhau cơ bản giữa Iterator và ListIterator trong Java là ListIterator có thể duyệt lùi về phía trước, còn Iterator thì không! Code: import java.util.ArrayList; import java.util.List; import java.util.ListIterator; public class ListAndListIterator { public static void main(String[] args) { // Tạo một đối tượng List (Chỉ chứa các String) List list = new ArrayList (); list.add("Một"); list.add("Hai"); list.add("Ba"); list.add("Bốn"); // Lấy ra đối tượng ListIterator để duyệt danh sách. ListIterator listIterator = list.listIterator(); // Hiện tại con trỏ đang đứng tại ví trí đầu danh sách. // Đứng tại chỉ số 0. // Lấy ra phần tử đầu tiên trong danh sách, con trỏ tiến một bước. String

So sánh hiệu năng khi sử dụng vòng lặp For, ForEach, Iterator và ListIterator trong Java Collection

Trong bài trước tôi đã giới thiệu  Sự khác nhau giữa Iterator và ListIterator trong Java . Tại bài viết này tôi sẽ so sánh hiệu năng khi sử dụng vòng lặp For, ForEach, Iterator và ListIterator trong Java Collection. Code: Kết quả Về nhất là ListIterator, tiếp đến là Iterator. Vòng For đã cho chúng ta thấy sự chậm chạp của mình, còn For Each thì... hít bụi. Với ListIterator và Iterator khá ngang ngửa, thử tăng số lần gấp 10 giá trị cũ xem sao. Kết quả: Dung vong lap ITERATOR mat: 469 ms Dung vong lap LIST ITERATOR mat: 453 ms Lần này Iterator lại tốn ít thời gian hơn!!! Khá khó lý giải :))) Như vậy khi duyệt giữa các phần tử trong Java Collection ta nên dùng Iterator hoặc ListIterator để đạt hiệu năng cao nhất.