85.Sử dụng Iterator trong lập trình Java

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:

  1. 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ức iterator() của lớp đó.
  2. 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()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.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top