Trong lập trình Java, Iterator
là một giao diện (interface) trong gói java.util
, được sử dụng để duyệt qua các phần tử trong một cấu trúc dữ liệu có thể lặp lại như List, Set, và Map. Giao diện Iterator
cung cấp các phương thức để truy cập tuần tự và an toàn các phần tử trong cấu trúc dữ liệu mà không cần biết cấu trúc bên trong của nó.
Để sử dụng Iterator
, bạn cần làm theo các bước sau:
- Nhận một đối tượng
Iterator
từ cấu trúc dữ liệu mà bạn muốn duyệt qua bằng cách sử dụng phương thứciterator()
của lớp đó. - Sử dụng các phương thức của
Iterator
để duyệt qua các phần tử trong cấu trúc dữ liệu.
Dưới đây là một ví dụ về cách sử dụng Iterator
để duyệt qua các phần tử trong một List:
java
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class IteratorExample {
public static void main(String[] args) {
List<String> fruits = new ArrayList<>();
fruits.add("apple");
fruits.add("banana");
fruits.add("orange");
// Nhận một đối tượng Iterator từ List
Iterator<String> iterator = fruits.iterator();
// Sử dụng Iterator để duyệt qua các phần tử trong List
while (iterator.hasNext()) {
String fruit = iterator.next();
System.out.println(fruit);
}
}
}
Kết quả đầu ra sẽ là:
apple
banana
orange
Trong ví dụ trên, chúng ta đã sử dụng phương thức iterator()
của List để nhận một đối tượng Iterator
cho List. Sau đó, chúng ta đã sử dụng vòng lặp while
kết hợp với các phương thức của Iterator
(hasNext()
và next()
) để duyệt qua các phần tử trong List.
Lưu ý rằng Iterator
cung cấp phương thức remove()
để xóa phần tử hiện tại trong cấu trúc dữ liệu, nhưng nó không hỗ trợ thêm hoặc sửa đổi các phần tử trong cấu trúc dữ liệu. Điều này được thực hiện bởi các phương thức của cấu trúc dữ liệu chính (ví dụ: add()
hoặc remove()
của List) và phải được thực hiện bên ngoài Iterator
.