Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 14824|Atsakyti: 0

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

[Kopijuoti nuorodą]
Paskelbta 2015-01-04 13:30:48 | | |

Yra trys būdai, kaip pereiti sąrašą   
   
   List<A> list = naujas ArrayList<A>();   
   list.add(naujas A());   
   list.add(naujas A());   
   ...   
   
  Pirmasis tipas:   
   for(Iterator<A> it = list.iterator();    it.hasNext();    )    {   
       ....   
   }   
   Šis būdas yra cikle
Tuo pačiu metu, jei norite pašalinti elementą malonumo procese, galite paskambinti tik it.remove metodu, negalite naudoti list.remove metodo, kitaip įvyks lygiagrečios prieigos klaida.   
Tačiau suderinamumas yra geriausias, tinka kolekcijos kolekcijai
   
   Antrasis tipas:   
   for(A a : sąrašas) {   
       .....   
   }   
  Kiekvienam metodui vis dar yra iteratorius, pirmasis vadinamas viduje, o sriuba nekeičiama, o šiam žiediniam metodui yra kitų apribojimų, todėl nerekomenduojama jo naudoti   
  Jis gali būti naudojamas tik virš JK1.5 su prastu suderinamumu Rinkinys yra geriausia naudoti šį

   Trečiasis tipas:   
   for(int i=0;    i<list.size();    i++) {   
       A a = list.get(i);   
       ...   
   }   
  ciklui, sąrašo rinkinio turinio perėjimas veikia tik sąrašui, nes sąrašas yra sutvarkytas rinkinys
, vidinis nėra užrakintas, didžiausias efektyvumas, tačiau rašant kelių gijų reikia atsižvelgti į lygiagrečių operacijų problemą!

Perėjimas per rinkinių rinkinį yra tas pats, kaip ir sąrašas, tačiau negalite naudoti ciklo for rinkiniui kartoti, nes rinkinyje nėra metodo get().
  Tačiau jį galima sujungti su patobulinimais
  Pereiti rinkinį
  Set<String> set = naujas HashSet<String>();
  set.add("qqq");
  set.add("www");
  set.add("eeee");
  set.add("rrr");
  
  for(String s : set){
   System.out.println("set="+s);
  }






Ankstesnis:Sąrašų rinkinio perėjimas java ir dviejų įgyvendinimo klasių lyginamoji analizė
Kitą:Jis yra vyresnysis brolis, jis yra loli mergaitė, kodėl jis davė jai puodelį?
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com