Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 14824|Svar: 0

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

[Kopiera länk]
Publicerad på 2015-01-04 13:30:48 | | |

Det finns tre sätt att ta sig igenom en lista   
   
   List<A> list = ny ArrayList<A>();   
   list.add (nytt A());   
   list.add (nytt A());   
   ...   
   
  Den första typen:   
   för(Iterator<A> it = list.iterator();    it.hasNext();    )    {   
       ....   
   }   
   Det här sättet är i en cykel
Samtidigt, om du vill ta bort ett element i njutningsprocessen, kan du bara anropa it.rea-metoden, du kan inte använda list.delete-metoden, annars uppstår ett fel vid samtidig åtkomst.   
Men kompatibiliteten är bäst, lämplig för samlingen
   
   Den andra typen:   
   for(A a : list) {   
       .....   
   }   
  För varje metod är fortfarande en iterator, den första kallas internt, och soppan ändras inte, och det finns andra begränsningar med denna cirkulära metod, så det rekommenderas inte att använda den   
  Den kan bara användas över JK1.5 med dålig kompatibilitet Set, det är bäst att använda denna

   Den tredje typen:   
   för(int i=0;    i<list.size();    i++) {   
       A a = list.get(i);   
       ...   
   }   
  för loop, fungerar det att gå igenom innehållet i en List-samling endast för List, eftersom Listan är en ordnad samling
, det interna är inte låst, den högsta effektiviteten, men när man skriver multitrådning bör problemet med samtidiga operationer beaktas!

Att traversera en Set-samling är på samma sätt som en List, men du kan inte använda en for-loop för att iterera genom en Set-samling eftersom det inte finns någon get()-metod i Set-samlingen.
  Men det kan loopas med förbättringar
  Genomgå samlingen
  Set<String> set = new HashSet<String>();
  set.add("qqq");
  set.add("www");
  set.add("eee");
  set.add("rrr");
  
  for(String s : set){
   System.out.println("set="+s);
  }






Föregående:Traversering av listsamling i Java och jämförande analys av två implementeringsklasser
Nästa:Han är en äldre bror, han är en loli-tjej, varför gav han henne en kopp?
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com