Por qué la lista de colecciones en Java puede atravesar la colección
1. Recorrido de listas
Hay tres métodos de recorrido:
/**
* Tres listas de recorrido
* @author Propietario
*
*/
*/
clase pública ListTest {
public static void main(String[] args) {
Lista
lista.
lista. agregar("a");
lista.add ("b");
lista.add("c"); "c"); // Se pueden agregar datos repetidos
// El método transversal es un iterador
for(Iterator
Valor de cadena = iterator.next()
System.out.println(value); >
}
//Método transversal 2 Bucle Superfor
for (Valor de cadena: lista){
System.out.println(value);
}
// Método transversal tres
for(int i=0;i Sistema. } } } Analice estos tres recorridos, primero El primero es el recorrido del iterador, que bloquea los datos durante la ejecución, lo que tiene un rendimiento seguro y una baja eficiencia; El segundo es la nueva sintaxis de Java, que mejora el bucle for, en el que también se llama al iterador internamente; El tercer método es utilizar la matriz directamente, que es el más rápido, pero habrá problemas de seguridad de subprocesos múltiples. El principio es el siguiente: ArrayList usa matrices en la parte inferior para guardar datos y acceder a los datos en una matriz, por supuesto, usar directamente el índice de la matriz es lo más rápido, lo que equivale a leer datos directamente desde la memoria. iterador, encapsulado por foreach; el iterador atraviesa el final Para acceder a los datos a través del índice, el método get correspondiente está disponible en el código fuente. El recorrido de conjunto es similar a Lista. Dado que set no tiene un método get, el tercer método es imposible. Resumen: considere usar el segundo método y simplemente mejore el bucle for<; /p> p> 2. Convertir lista y conjunto entre sí: Este requisito generalmente no es mucho, solo ingrese el código directamente: / * * * Conversión de lista a conjunto (Establecer en lista) */ Lista pública estática List list.addAll(set); Devolver lista; } Implementado usando genéricos. Pero vale la pena señalar que los datos se pierden al convertir una lista en un conjunto y se pierden los duplicados.