|
Existem três maneiras de atravessar uma Lista
<A> Lista lista = nova ArrayList<A>(); list.add (novo A()); list.add (novo A()); ...
O primeiro tipo: for(<A>Iterator it = list.iterator(); it.hasNext(); ) { .... } Esse caminho é em ciclo Ao mesmo tempo, se você quiser remover um elemento no processo de prazer, só pode chamar o método it.remove, não pode usar o método list.remove, caso contrário haverá um erro de acesso concorrente. Mas a compatibilidade é a melhor, adequada para a coleção da Coleção
O segundo tipo: for(A a : lista) { ..... } O método para cada método ainda é um iterador, o primeiro é chamado internamente, e a sopa não é alterada, e há outras limitações desse método circular, então não é recomendado usá-lo Só pode ser usado acima do JK1.5 com fraca compatibilidade. O melhor é usar este
O terceiro tipo: for(int i=0; i<list.size(); i++) { A a = list.get(i); ... } para loop, percorrer o conteúdo de uma coleção List funciona apenas para List, porque List é uma coleção ordenada , o interno não está travado, a maior eficiência, mas ao escrever multithreading, o problema das operações concorrentes deve ser considerado! Percorrer uma coleção Set é da mesma forma que uma Lista, mas você não pode usar um loop for para iterar por uma coleção Set porque não existe método get() na coleção Set. Mas pode ser repetido com aprimoramentos Coleção Traverse the Set Set<String> set = novo <String>HashSet(); set.add("qqq"); set.add("www"); set.add("eee"); set.add("rrr");
for(String s : set){ System.out.println("set="+s); }
|