Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 14824|Odgovoriti: 0

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

[Kopiraj povezavo]
Objavljeno na 4. 01. 2015 13:30:48 | | |

Obstajajo trije načini za prečkanje Seznama   
   
   List<A> List = novi ArrayList<A>();   
   list.add(novi A());   
   list.add(novi A());   
   ...   
   
  Prva vrsta:   
   for(Iterator<A> it = list.iterator();    it.hasNext();    )    {   
       ....   
   }   
   Ta način je v ciklu
Hkrati, če želite odstraniti element v procesu užitka, lahko pokličete le metodo it.odstranite, metode list.remove pa ne morete uporabiti, sicer bo prišel do napake sočasnega dostopa.   
A združljivost je najboljša, primerna za zbirko Collection
   
   Druga vrsta:   
   for(A a : list) {   
       .....   
   }   
  Za vsako metodo je še vedno iterator, prvi se kliče interno, juha se ne spreminja, poleg tega pa obstajajo tudi druge omejitve te krožne metode, zato je uporaba ne priporoča   
  Lahko se uporablja le nad JK1.5 z slabo združljivostjo. Set je najboljša uporaba tega

   Tretja vrsta:   
   for(int i=0;    i<list.size();    i++) {   
       A a = list.get(i);   
       ...   
   }   
  za zanko prečkanje vsebine zbirke List deluje le za List, ker je List urejena zbirka
, notranje ni zaklenjeno, kar je najvišja učinkovitost, vendar je pri pisanju večnitnosti treba upoštevati problem sočasnih operacij!

Prečkanje zbirke Set je enak način kot List, vendar ne moreš uporabiti zanke for za iteracijo skozi zbirko Setov, ker v zbirki Set ni metode get().
  A jo je mogoče zankati z izboljšavami
  Zbirka Traverse the Set
  Set<String> set = nov HashSet<String>();
  set.add("qqq");
  set.add("www");
  set.add("eee");
  set.add("rrr");
  
  for(String s : set){
   System.out.println("set="+s);
  }






Prejšnji:Prečkanje zbiranja seznamov v javi in primerjalna analiza dveh implementacijskih razredov
Naslednji:Je starejši brat, je loli dekle, zakaj ji je dal skodelico?
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com