Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 14824|Antwoord: 0

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

[Link kopiëren]
Geplaatst op 04-01-2015 13:30:48 | | |

Er zijn drie manieren om een lijst te doorkruisen   
   
   Lijst<A> lijst = nieuwe ArrayList<A>();   
   list.add (nieuwe A());   
   list.add (nieuwe A());   
   ...   
   
  Het eerste type:   
   for(Iterator<A> it = list.iterator();    it.hasNext();    )    {   
       ....   
   }   
   Deze weg zit in een cyclus
Tegelijkertijd, als je een element wilt verwijderen in het proces van plezier, kun je alleen de it.remove methode aanroepen, je kunt de list.remove methode niet gebruiken, anders is er een fout bij gelijktijdige toegang.   
Maar de compatibiliteit is het beste, geschikt voor de collectie
   
   Het tweede type:   
   for(A a : lijst) {   
       .....   
   }   
  De voor elke methode is nog steeds een iterator, de eerste wordt intern genoemd, en de soep wordt niet veranderd, en er zijn andere beperkingen aan deze circulaire methode, dus het wordt niet aanbevolen deze te gebruiken   
  Het kan alleen boven JK1.5 worden gebruikt met slechte compatibiliteit. Set is het beste om deze te gebruiken.

   Het derde type:   
   voor(int i=0;    i<list.size();    i++) {   
       A a = list.get(i);   
       ...   
   }   
  voor loop, werkt het doorlopen van de inhoud van een List-collectie alleen voor List, omdat List een geordende verzameling is
, de interne is niet vergrendeld, de hoogste efficiëntie, maar bij het schrijven van multithreading moet het probleem van gelijktijdige bewerkingen worden meegenomen!

Het doorlopen van een Set-collectie is hetzelfde als een List, maar je kunt geen for-lus gebruiken om door een Set-collectie heen te itereren omdat er geen get()-methode is in de Set-collectie.
  Maar het kan wel worden geloopt met verbeteringen
  Doorkruis de verzameling van de Set.
  Set<String> set = nieuwe HashSet<String>();
  set.add("qqq");
  set.add("www");
  set.add("eee");
  set.add("rrr");
  
  for(String s : set){
   System.out.println("set="+s);
  }






Vorig:Traversal van List-verzameling in Java en vergelijkende analyse van twee implementatieklassen
Volgend:Hij is een oudere broer, hij is een loli-meisje, waarom gaf hij haar een kopje?
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com