|
Hay tres formas de recorrer una Lista
<A> Lista lista = nueva <A>ArrayList(); list.add (nueva A()); list.add (nueva A()); ...
El primer tipo: for(<A>Iterator it = list.iterator(); it.hasNext(); ) { .... } Esta forma es en un ciclo Al mismo tiempo, si quieres eliminar un elemento en el proceso de placer, solo puedes llamar al método it.remove, no puedes usar el método list.remove, de lo contrario habrá un error de acceso concurrente. Pero la compatibilidad es la mejor, adecuada para la colección de la Colección
El segundo tipo: for(A a : lista) { ..... } Para cada método sigue siendo un iterador, el primero se llama internamente, y la sopa no cambia, y existen otras limitaciones en este método circular, por lo que no se recomienda usarlo Solo puede usarse por encima de JK1.5 con poca compatibilidad. Lo mejor es usar este
El tercer tipo: for(int i=0; i<lista.tamaño(); i++) { A a = list.get(i); ... } para bucle, recorrer el contenido de una colección List solo funciona para List, porque List es una colección ordenada , el interno no está bloqueado, la máxima eficiencia, pero al escribir multihilo, ¡se debe considerar el problema de las operaciones concurrentes! Recorrer una colección de sets es igual que una Lista, pero no puedes usar un bucle for para iterar por una colección de sets porque no hay método get() en la colección de sets. Pero se puede repetir con mejoras Colección Traverse the Set Set<String> set = nuevo <String>HashSet(); set.add("qqq"); set.add("www"); set.add("eee"); set.add("rrr");
for(String s : set){ System.out.println("set="+s); }
|