Bỏ qua đến nội dung
Bỏ qua điều hướng
MT MT.Net.VNDigital Platform
Đăng nhập
MT.NET.VN

MT.Net.VN

Tìm kiếm
MT LEARNING · LESSON

Java Tut 39: Java Iterator (trình lặp) 0 (0)

Java Tut 39: Java Iterator (trình lặp) 0 (0)

Java Tut 39: Java Iterator (trình lặp) 0 (0)

Trình lặp lại Java

An Iteratorlà một đối tượng có thể được sử dụng để lặp qua các bộ sưu tập, như ArrayList và HashSet . Nó được gọi là “trình lặp” vì “lặp” là thuật ngữ kỹ thuật để chỉ vòng lặp.

Để sử dụng một Iterator, bạn phải nhập nó từ java.utilgói.


Bắt một Trình lặp lại

Các iterator()phương pháp có thể được sử dụng để có được một Iteratorcho bất kỳ bộ sưu tập:

Thí dụ

// Import the ArrayList class and the Iterator class import java.util.ArrayList; import java.util.Iterator;  public class Main {   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());   } }  

Hãy tự mình thử »


Vòng qua một bộ sưu tập

Để lặp qua một bộ sưu tập, hãy sử dụng các phương thức hasNext()và next()của Iterator:

Thí dụ

while(it.hasNext()) {   System.out.println(it.next()); } 

Hãy tự mình thử »


Xóa các mục khỏi bộ sưu tập

Các trình lặp được thiết kế để dễ dàng thay đổi các tập hợp mà chúng lặp qua. Các remove()phương pháp có thể xoá các mục từ một bộ sưu tập trong khi vòng lặp.

Thí dụ

Sử dụng một trình lặp để xóa các số nhỏ hơn 10 khỏi một tập hợp:

import java.util.ArrayList; import java.util.Iterator;  public class Main {   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);   } } 

Hãy tự mình thử »

Lưu ý: Việc cố gắng xóa các mục bằng vòng lặp for hoặc vòng lặp for-each sẽ không hoạt động chính xác vì bộ sưu tập đang thay đổi kích thước cùng lúc mã đang cố gắng lặp lại.

Zalo Messenger Gọi điện Hỗ trợ0
Home Dịch vụ Khóa học CPanel