Sự khác biệt giữa Iterator và ListIterator là gì

Mục lục:

Anonim

Các Sự khác biệt chính giữa Iterator và ListIterator là Iterator có thể duyệt các phần tử trong bộ sưu tập chỉ theo hướng về phía trước trong khi ListIterator có thể duyệt các phần tử trong bộ sưu tập theo cả hướng tiến và lùi.

Iterator và ListIterator là hai giao diện trong Java. Iterator được sử dụng với Danh sách, Bộ và Bản đồ. Mặt khác, ListIterator chỉ được sử dụng với Danh sách. Trong ListIterator, có thể xem qua các mục trong bộ sưu tập theo hướng tiến và lùi. Ngược lại, Iterator chỉ có thể đi qua các mục trong bộ sưu tập theo hướng chuyển tiếp.

Bộ sưu tập, Giao diện, Trình lặp lại, Trình quản lý danh sách

Iterator là gì

Iterator là một giao diện trong khuôn khổ Bộ sưu tập. Nó cho phép lần lượt đi qua từng phần tử trong một tập hợp. Nó giúp duyệt qua Danh sách, Bộ và Bản đồ. Tuy nhiên, chỉ có thể chuyển tiếp bằng cách sử dụng Iterator. Một chương trình ví dụ như sau.

Hình 01: Chương trình Java với Iterator

Trong chương trình trên, có một ArrayList được gọi là màu sắc. Phương thức thêm giúp chèn các mục vào bộ sưu tập. Trình lặp () trả về trình vòng lặp về đầu bộ sưu tập. Vòng lặp while gọi phương thức hasNext () mỗi khi vòng lặp lặp lại. Nếu có một phần tử tiếp theo có sẵn trong bộ sưu tập, phương thức này trả về true. Tuy nhiên, nó trả về false nếu tất cả các phần tử đã được duyệt qua. Bên trong vòng lặp, phương thức next () giúp lấy từng phần tử trong Bộ sưu tập. Nó trả về phần tử tiếp theo của tập hợp. System.out.println hiển thị phần tử trên bảng điều khiển.

ListIterator là gì

ListIterator là một giao diện trong khuôn khổ Bộ sưu tập cho phép duyệt lần lượt qua các phần tử có trong một bộ sưu tập. Nó chỉ có thể duyệt các mục trong một Danh sách. Hơn nữa, nó có thể đi ngang các phần tử theo cả hai hướng tiến và lùi. Tham khảo chương trình bên dưới.

Hình 02: Chương trình Java với ListIterator

Trong chương trình trên, có một danh sách mảng được gọi là màu sắc. Phương thức add giúp chèn các phần tử vào bộ sưu tập. ListIterator () trả về trình vòng lặp về đầu bộ sưu tập. Vòng lặp while đầu tiên gọi phương thức hasNext () trong mỗi lần lặp. Bên trong vòng lặp, phương thức next () được sử dụng để trả về phần tử tiếp theo của tập hợp. System.out.println hiển thị phần tử trên bảng điều khiển. Do đó, tất cả các phần tử được hiển thị trên bàn điều khiển theo hướng về phía trước.

Vòng lặp while tiếp theo gọi phương thức hasPrevious () mỗi khi vòng lặp lặp lại. Nó trả về true nếu các phần tử có sẵn. Nếu không, nó trả về false. Việc đi ngang này xảy ra theo hướng ngược lại. Bên trong vòng lặp, phương thức trước () giúp lấy từng phần tử trong Bộ sưu tập. Nó trả về phần tử trước đó của tập hợp. System.out.println hiển thị phần tử trên bảng điều khiển.

Sự khác biệt giữa Iterator và ListIterator

Sự định nghĩa

Iterator là một giao diện trong khuôn khổ Collection của Java để duyệt qua danh sách theo hướng chuyển tiếp. Ngược lại, ListIterator là một giao diện trong khuôn khổ Collection của Java để duyệt qua một danh sách theo một trong hai hướng, sửa đổi danh sách trong quá trình lặp và lấy vị trí hiện tại trong danh sách. Vì vậy, đây là sự khác biệt chính giữa Iterator và ListIterator.

Đi qua

Một sự khác biệt quan trọng giữa Iterator và ListIterator là Iterator có thể duyệt qua Danh sách, Bộ và Bản đồ trong khi ListIterator chỉ có thể duyệt qua Danh sách.

Hướng đi ngang

Mục lục

Hơn nữa, một sự khác biệt khác giữa Iterator và ListIterator là không có phương thức nào trong Iterator để lấy chỉ mục của phần tử. Tuy nhiên, có thể lấy chỉ mục của phần tử bằng cách sử dụng ListIterator.

Thêm phần tử

Trong khi Iterator không thể thêm các phần tử vào bộ sưu tập, ListIterator có thể thêm các phần tử vào bộ sưu tập bằng cách sử dụng add (E e). Vì vậy, đây là một sự khác biệt khác giữa Iterator và ListIterator.

Biến đổi

Ngoài ra, một điểm khác biệt khác giữa Iterator và ListIterator là Iterator không thể sửa đổi các phần tử trong bộ sưu tập. trong khi ListIterator có thể sửa đổi các phần tử trong tập hợp bằng cách sử dụng set (E e).

Các phương pháp phổ biến

hasNext (), next (), remove () là một số phương thức phổ biến của Iterator trong khi hasNext (), next (), hasPrevious (), before (), remove, add (E e), beforeIndex (), set (E e) là một số phương thức phổ biến của ListIterator.

Phần kết luận

Có một sự khác biệt rõ ràng giữa Iterator và ListIterator mặc dù một số người sử dụng các thuật ngữ này thay thế cho nhau. Sự khác biệt chính giữa Iterator và ListIterator là Iterator có thể duyệt các phần tử trong bộ sưu tập chỉ theo hướng về phía trước trong khi ListIterator có thể duyệt các phần tử trong bộ sưu tập theo cả hướng tiến và lùi.

Thẩm quyền giải quyết:

1. Singh, Chaitanya. “Trình lặp lại Java với các ví dụ.” Beginnersbook.com, ngày 15 tháng 6 năm 2014, Có sẵn tại đây. 2. Singh, Chaitanya và Umesh. “ListIterator trong Java với các ví dụ.” Beginnersbook.com, ngày 15 tháng 6 năm 2014, Có sẵn tại đây.3. ListIterator (Nền tảng Java SE 7), ngày 6 tháng 10 năm 2018, có sẵn tại đây.

Sự khác biệt giữa Iterator và ListIterator là gì