Interfaz de iterador de colección detallada

Interfaz de iterador

¿Qué es un iterador?

El iterador es un objeto y su función es atravesar y seleccionar objetos en la secuencia. Proporciona una forma de acceder a varios elementos en un objeto contenedor sin tener que exponer los detalles internos del objeto. Con los iteradores, los desarrolladores pueden atravesar el contenedor sin conocer la estructura subyacente del contenedor. Debido al bajo costo de crear iteradores, los iteradores a menudo se denominan contenedores livianos.

Java Iterator (iterador) no es una colección, es un método para acceder a una colección, se puede usar para iterar colecciones como ArrayList y HasSet.

Inserte la descripción de la imagen aquí

Dos métodos principales de la interfaz Iterator:

  • boolean hasNext (): juzga si hay más elementos, si hay más elementos, devuelve verdadero.
  • E next (): devuelve el siguiente elemento de la iteración, si no se puede obtener ningún elemento, devuelve NOSuchElementException

Obtenga un iterador. Si
desea obtener un iterador, puede usar el método iterator ().

import java.util.ArrayList;
import java.util.Iterator;

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

        // 创建集合
        ArrayList<String> sites = new ArrayList<String>();
        sites.add("Google");
        sites.add("Runoob");
        sites.add("Taobao");
        sites.add("Zhihu");

        // 获取迭代器
        Iterator<String> it = sites.iterator();
        while (it.hasNext()) {
    
    
            String ele = it.next();
            System.out.println(ele);
        }
    }
}

Otros metodos:

  • void remove (): Elimina el último elemento devuelto por el iterador del conjunto especificado por el iterador.
// 引入 ArrayList 和 Iterator 类
import java.util.ArrayList;
import java.util.Iterator;

public class RunoobTest {
    
    
    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();  // 删除小于 10 的元素
            }
        }
        System.out.println(numbers);
    }
}

Supongo que te gusta

Origin blog.csdn.net/qq_44346427/article/details/110729373
Recomendado
Clasificación