Iterator và ListIterator

1 minute read

VII. Java Collections Framework:

C. Iterator và ListIterator:

Trong Java Collections Framework, IteratorListIterator là hai interface được sử dụng để duyệt qua các phần tử trong một cấu trúc dữ liệu như List, Set, hoặc Map. Dưới đây là mô tả về cả hai:

  1. Iterator:

    • Iterator là một interface cho phép duyệt qua các phần tử một cách tuần tự trong một tập hợp.
    • Nó cung cấp ba phương thức chính là hasNext(), next(), và remove() để kiểm tra xem còn phần tử nào trong tập hợp, lấy phần tử tiếp theo và xóa phần tử hiện tại.
    • Ví dụ sử dụng Iterator để duyệt qua một danh sách:
      1
      2
      3
      4
      5
      6
      7
      8
      9
      
      List<String> list = new ArrayList<>();
      list.add("Apple");
      list.add("Banana");
      list.add("Orange");
      
      Iterator<String> iterator = list.iterator();
      while (iterator.hasNext()) {
          System.out.println(iterator.next());
      }
      
  2. ListIterator:

    • ListIterator là một interface mở rộng của Iterator, được sử dụng để duyệt qua các phần tử trong một List.
    • Nó cung cấp các phương thức hasNext(), next(), hasPrevious(), previous(), nextIndex(), previousIndex(), remove(), set()add() để thực hiện các hoạt động trên các phần tử của danh sách.
    • ListIterator chỉ có thể sử dụng với các cấu trúc dữ liệu có thứ tự như List, không thể sử dụng với Set hoặc Map.
    • Ví dụ sử dụng ListIterator để duyệt qua một danh sách và in ngược lại các phần tử:
      1
      2
      3
      4
      5
      6
      7
      8
      9
      
      List<String> list = new ArrayList<>();
      list.add("Apple");
      list.add("Banana");
      list.add("Orange");
      
      ListIterator<String> iterator = list.listIterator(list.size());
      while (iterator.hasPrevious()) {
          System.out.println(iterator.previous());
      }
      

Cả IteratorListIterator là các công cụ mạnh mẽ cho việc duyệt qua và thao tác trên các phần tử trong Java Collections Framework. Chúng cho phép bạn thực hiện các thao tác như duyệt qua, thêm, xóa và sửa đổi các phần tử của tập hợp một cách linh hoạt và hiệu quả.