Sử dụng Iterator trong Java

Giới thiệu nội dung bài viết

Chào các em, hôm nay chủ đề của chúng ta sẽ hướng dẫn cách tạo ra một Iterator trong lập trình java theo mong muốn của chúng ta.

1. Iterator là gì

Thông thường chúng ta hay sử dụng vòng lặp for để duyệt qua các phần tử trong tập hợp. Hôm nay mình có thêm một công cụ mới để duyệt qua các phần tử trong tập hợp nữa đó là Iterator.

  • Ví dụ như anh có một ArrayList về xe sau. Trong tập hợp xe này anh lưu các giá trị như Volvo,BMW,Ford,Mazda
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import java.util.ArrayList;
import java.util.Iterator;

public class MyClass {
  public static void main(String[] args) {

    // Make a collection
    ArrayList<String> cars = new ArrayList<String>();
    cars.add("Volvo");
    cars.add("BMW");
    cars.add("Ford");
    cars.add("Mazda");

    // Get the iterator
    Iterator<String> it = cars.iterator();

    // Print the first item
    System.out.println(it.next());
  }
}
  • Đầu tiên anh sẽ khai báo một Iterator bằng cách sử dụng
1
Iterator<String> it = cars.iterator();
  • Để duyệt qua các phần tử trong tập hợp xe anh sử dụng phương thức hasNext mà Iterator cung cấp. Phương thức hasNext sẽ duyệt qua từng phần tử trong tập hợp cho đến khi đi tới phần tử cuối cùng của tập hợp.
1
2
3
while(it.hasNext()) {
  System.out.println(it.next());
}
  • Hàm while sẽ chạy hết các phần tử trong tập hợp. Nếu chúng ta muốn lấy phần tử ra thì sử dụng phương thức next(). Trong ví dụ trên chúng ta sẽ dùng it.next().

  • Xoá một phần tử trong tập hợp chúng ta sử dụng phương thức remove.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import java.util.ArrayList;
import java.util.Iterator;

public class MyClass {
  public static void main(String[] args) {
    ArrayList<Integer> numbers = new ArrayList<Integer>();
    numbers.add(12);
    numbers.add(8);
    numbers.add(2);
    numbers.add(23);
    Iterator<Integer> it = numbers.iterator();
    while(it.hasNext()) {
      Integer i = it.next();
      if(i < 10) {
        it.remove();
      }
    }
    System.out.println(numbers);
  }
}
  • Trong ví dụ trên chúng ta tạo ra một ArrayList chứa các số 12,8,2,23. Sau đó chúng ta duyệt qua các phần tử trong tập hợp này. Nếu phần tử nhỏ hơn 10 thì ta sẽ xoá phần tử đó ra khỏi tập hợp thông qua phương thức it.remove().

Mọi người hãy subcribe kênh youtube dưới đây nhé. Videos về các kỹ năng mềm và lập trình sẽ được cập nhật hằng tuần


Comments