Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 14824|Răspunde: 0

[Comunicare] java:list和set集合的遍历

[Copiază linkul]
Postat pe 04.01.2015 13:30:48 | | |

Există trei moduri de a parcurge o listă   
   
   <A> List list = new <A>ArrayList();   
   list.add(noul A());   
   list.add(noul A());   
   ...   
   
  Primul tip:   
   for(<A>Iterator it = list.iterator();    it.hasNext();    )    {   
       ....   
   }   
   Așa este într-un ciclu
În același timp, dacă vrei să elimini un element în procesul de plăcere, poți apela doar metoda it.remove, nu poți folosi metoda list.remove, altfel va apărea o eroare de acces concurent.   
Dar compatibilitatea este cea mai bună, potrivită pentru colecția Colecției
   
   Al doilea tip:   
   for(A a : listă) {   
       .....   
   }   
  Pentru fiecare metodă este tot un iterator, prima este numită intern, supa nu se schimbă, iar această metodă circulară are alte limitări, așa că nu este recomandată utilizarea ei   
  Poate fi folosit doar peste JK1.5 cu compatibilitate slabă. Cel mai bine este să folosești acesta.

   Al treilea tip:   
   for(int i=0;    i<list.size();    i++) {   
       A a = list.get(i);   
       ...   
   }   
  pentru buclă, parcurgerea conținutului unei colecții List funcționează doar pentru List, deoarece List este o colecție ordonată
, internul nu este blocat, cea mai mare eficiență, dar atunci când scrii multithreading, trebuie luată în considerare problema operațiunilor concurente!

Parcurgerea unei colecții Set este la fel ca o listă, dar nu poți folosi o buclă for pentru a itera printr-o colecție Set deoarece nu există metoda get() în colecția set.
  Dar poate fi repetat cu îmbunătățiri
  Colecția Traverse the Set
  Set<String> set = new <String>HashSet();
  set.add("qqq");
  set.add("www");
  set.add("eee");
  set.add("rrr");
  
  for(String s : set){
   System.out.println("set="+s);
  }






Precedent:Traversarea colecției de liste în Java și analiza comparativă a două clase de implementare
Următor:E fratele mai mare, e o fată loli, de ce i-a dat o ceașcă?
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com