Iterator trong Java là một giao diện (interface) trong thư viện Collections, cung cấp một cách tiêu chuẩn để duyệt qua các phần tử trong một tập hợp (collection) mà không cần biết chi tiết về cách mà tập hợp đó được cài đặt.
Iterator là một interface trong gói java.util, cho phép truy cập tuần tự các phần tử trong một collection như ArrayList, HashSet, LinkedList, và nhiều collection khác mà không cần biết đến cấu trúc bên trong của chúng.Iterator cho phép bạn duyệt qua các phần tử của một collection một cách tuần tự.Iterator có ba phương thức chính:
hasNext()true nếu còn phần tử, false nếu không còn.next()NoSuchElementException nếu không còn phần tử nào để lấy.remove()next()) khỏi collection.IllegalStateException nếu phương thức này được gọi trước khi gọi next() hoặc sau khi gọi next() mà không gọi remove().Dưới đây là một ví dụ minh họa cách sử dụng Iterator trong Java:
import java.util.ArrayList;
import java.util.Iterator;
public class IteratorExample {
public static void main(String[] args) {
// Tạo một ArrayList
ArrayList<String> fruits = new ArrayList<>();
fruits.add("Apple");
fruits.add("Banana");
fruits.add("Orange");
// Tạo một Iterator
Iterator<String> iterator = fruits.iterator();
// Duyệt qua các phần tử bằng Iterator
while (iterator.hasNext()) {
String fruit = iterator.next();
System.out.println(fruit);
// Xóa phần tử "Banana"
if (fruit.equals("Banana")) {
iterator.remove();
}
}
// Kiểm tra danh sách sau khi xóa
System.out.println("After removal: " + fruits);
}
}
Apple Banana Orange After removal: [Apple, Orange]
Iterator cung cấp một cách thống nhất để duyệt qua các collection khác nhau mà không cần biết loại của chúng.ConcurrentModificationException, thường gặp khi sử dụng vòng lặp for-each.Iterator là một công cụ mạnh mẽ trong Java Collections Framework, cho phép bạn duyệt qua các phần tử một cách hiệu quả và an toàn. Việc hiểu rõ cách hoạt động của Iterator sẽ giúp bạn làm việc với các tập hợp trong Java một cách dễ dàng và hiệu quả hơn.