Los programadores: Finalmente saben lo que el iterador

Autor: Mil absolutamente

E-mail: [email protected]

Público número: Mil absolutamente

Título: Patrones de Diseño modalidad Iterator (reproducido por favor indique la fuente)

Hola, Dime lo que caballeros, miles no regresaron he actualizado recientemente han experimentado un evento importante en la vida, me llevó a la paloma por una semana, es decir, un mil a la semana nunca vio la habitación, y finalmente por sus propios esfuerzos para ayudar a mi familia compro una casa (jajaja) Dime lo que creen todos ustedes señores pueda.

Bueno, yo no hago broma, porque miles de no casarse al final, así que aproveche ahora ve a leer sobre el sitio de la unión, siento que compro una eficiencia casa está muy rápido, se estima cumplió con mis ventas son divertidos para volar, Jueves inicio contacto de ventas durante la noche, sábado por la mañana para ver la habitación por la tarde puso el anticipo pagado. Mi esposa decir demasiado rápido, y me siento el ritmo muy rápido, por lo que cuando la casa está ligado puerros, después ya no quiere comer nada comer nada, y desde la parte posterior de la hipoteca.

Pues ahora volver al tema (termina el texto tiene los huevos) delante de un mil nunca se introdujo el patrón de observador, aspecto clásico Dime lo que no sabe el cómo, no hay modo de observador, ha habido poca nueva comprensión de la misma, si hay Si, pues, el propósito de alcanzar un mil nunca, nunca va a explicar este modo iterativo modo de un millar de diseño, aunque esta modalidad es ahora una alta probabilidad de que no vamos a escribir su propia, debido a que el java ha hecho muy perfecto, pero hay un viejo dicho, la historia del estudio, podemos ver mejor la dirección de la línea del frente.

Este artículo debe ser de mil a explicar con un ejemplo de lo que es un modo iterativo.

definiciones

En primer lugar, nos referimos a la práctica el contenido de la enciclopedia Baidu

modo iterativo (el iterador), se proporciona un método de acceso secuencial un objeto en la polimerización de diversos elementos, sin exponer el interior de la representación de objeto.

Un millar de comprensión absoluta de esta definición es: iterador patrón con el fin de no exponer a objeto interno utilizando lo que la estructura de datos, así que puedes pedir un acceso externo al objeto dentro del método de los elementos

Entienden o no puede entender, si no puede entender las palabras de arriba, deben ser miles de explicar a usted en código.

código

Definir una interfaz iterador

public interface Iterator<T> {
    //返回该对象的第一个元素
    T first();
    //返回该对象的下一个元素
    T next();
    //判断该对象有没有下一个元素
    boolean hasNext();
    //返回该对象现在的元素
    T getCurrentObj();
}
复制代码

Definir una clase que implementa el iterador

public class ConcreateIterator<T> implements Iterator<T> {
    List<T> list ;
    int current =0;
    public ConcreateIterator(List<T> list){
        this.list = list;
    }

    @Override
    public T first() {
        return list.get(0);
    }

    @Override
    public T next() {
        T t = null;
        if(this.hasNext()){
            t = list.get(current);
            current ++ ;
        }
        return t;
    }

    @Override
    public boolean hasNext() {
        if(current < list.size()){
            return  true;
        }
        return false;
    }

    @Override
    public T getCurrentObj() {
        return list.get(current);
    }
}
复制代码

Definir una interfaz agregada

public  interface Aggregate<T> {
    //添加一个对象
    void add(T t);
    //删除一个对象
    void remove(T t);
    //生成遍历器
    Iterator<T> createIteratory();
}
复制代码

Definir una clase que implementa una interfaz de polimerización

public class ConcreateAggregate<T> implements Aggregate<T> {
    private List<T> list = new ArrayList();

    @Override
    public void add(T t) {
        list.add(t);
    }

    @Override
    public void remove(T t) {
        list.remove(t);
    }

    @Override
    public Iterator createIteratory() {
        return new ConcreateIterator(list);
    }
}
复制代码

Definir una clase de prueba

public class TestIterator {
    public static void main(String []args){
        ConcreateAggregate<String>  concreateAggregate= new ConcreateAggregate<String>();
        concreateAggregate.add("测试");
        concreateAggregate.add("测试1");
        concreateAggregate.add("测试2");
        concreateAggregate.add("测试3");
        concreateAggregate.add("测试4");
        concreateAggregate.add("测试5");
        concreateAggregate.add("测试6");
        concreateAggregate.remove("测试4");
        Iterator iterator = concreateAggregate.createIteratory();
        System.out.println("第一个是:" + iterator.first());
        System.out.println("当前的元素是: " + iterator.getCurrentObj());
        while(iterator.hasNext()){
            System.out.println(iterator.next());
        }
    }
}
复制代码

Aquí Insertar imagen Descripción

resumen

Dime lo que ves aquí cree señores piensan que el código anterior es muy familiarizados con ella, sí mil absolutamente es un ejemplo de realización del iterador en el JDK de referencia, iteradores Java ahora su uso ha sido muy buena, ahora, básicamente, no tienen que escribir el iterador, y nunca puede escribir ahora es miles de código es demasiado simple, los casos que no se encuentran escribir su propio iterador, por lo que la introducción de un poco peligrosa, pero por favor, dime lo que los caballeros no les importa.

Próxima edición: modelo de prototipo.

Si usted tiene un favorito de mil absolutamente puede seguir, comentario, reenviarlo.

Por último, ¿qué te parece que deberíamos empezar una nueva casa hogar inteligente puede mejorar la calidad de vida todavía.

Aquí Insertar imagen Descripción

Supongo que te gusta

Origin juejin.im/post/5e79c96ae51d4527151585c4
Recomendado
Clasificación