Trong hướng dẫn này, chúng ta sẽ tìm hiểu về giao diện Java Iterator với sự trợ giúp của một ví dụ.
Các Iterator
giao diện của khuôn khổ bộ sưu tập Java cho phép chúng ta truy cập các yếu tố của một bộ sưu tập. Nó có một giao diện con ListIterator
.
Tất cả các bộ sưu tập Java đều bao gồm một iterator()
phương thức. Phương thức này trả về một thể hiện của trình lặp được sử dụng để lặp qua các phần tử của tập hợp.
Các phương thức của lặp lại
Các Iterator
giao diện cung cấp 4 phương pháp có thể được sử dụng để thực hiện các hoạt động khác nhau trên các yếu tố của bộ sưu tập.
hasNext()
- trả vềtrue
nếu tồn tại một phần tử trong bộ sưu tậpnext()
- trả về phần tử tiếp theo của bộ sưu tậpremove()
- loại bỏ phần tử cuối cùng được trả về bởinext()
forEachRemaining()
- thực hiện hành động được chỉ định cho từng phần tử còn lại của tập hợp
Ví dụ: Triển khai lặp lại
Trong ví dụ dưới đây, chúng tôi đã triển khai hasNext()
, next(),
remove()
và forEachRemining()
phương pháp của Iterator
giao diện trong một array list.
import java.util.ArrayList; import java.util.Iterator; class Main ( public static void main(String() args) ( // Creating an ArrayList ArrayList numbers = new ArrayList(); numbers.add(1); numbers.add(3); numbers.add(2); System.out.println("ArrayList: " + numbers); // Creating an instance of Iterator Iterator iterate = numbers.iterator(); // Using the next() method int number = iterate.next(); System.out.println("Accessed Element: " + number); // Using the remove() method iterate.remove(); System.out.println("Removed Element: " + number); System.out.print("Updated ArrayList: "); // Using the hasNext() method while(iterate.hasNext()) ( // Using the forEachRemaining() method iterate.forEachRemaining((value) -> System.out.print(value + ", ")); ) ) )
Đầu ra
ArrayList: (1, 3, 2) Phần tử được xử lý: 1 Phần tử bị loại bỏ: 1 Danh sách mảng đã cập nhật: 3, 2,
Trong ví dụ trên, hãy chú ý câu lệnh:
iterate.forEachRemaining((value) -> System.put.print(value + ", "));
Ở đây, chúng ta đã chuyển biểu thức lambda làm đối số của forEachRemaining()
phương thức.
Bây giờ phương thức sẽ in tất cả các phần tử còn lại của danh sách mảng.