Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 14824|Odpoveď: 0

[Komunikácia] java:list和set集合的遍历

[Kopírovať odkaz]
Zverejnené 4. 1. 2015 13:30:48 | | |

Existujú tri spôsoby, ako prechádzať Zoznamom   
   
   List<A> list = nový ArrayList<A>();   
   list.add(nový A());   
   list.add(nový A());   
   ...   
   
  Prvý typ:   
   for(Iterator<A> it = list.iterator();    it.hasNext();    )    {   
       ....   
   }   
   Týmto spôsobom je to v cykle
Zároveň, ak chcete odstrániť prvok v procese potešenia, môžete volať iba metódu it.remove (it.remove metódu), nemôžete použiť metódu list.eseue, inak vznikne chyba súbežného prístupu.   
Ale kompatibilita je najlepšia, vhodná pre kolekciu Collection
   
   Druhý typ:   
   for(A a : list) {   
       .....   
   }   
  Pre každú metódu je stále iterátor, prvý sa volá interne, polievka sa nemení, pričom táto kruhová metóda má aj iné obmedzenia, preto sa neodporúča ju používať   
  Dá sa používať len nad JK1.5 s nízkou kompatibilitou. Najlepšie je použiť tento

   Tretí typ:   
   for(int i=0;    i<list.size();    i++) {   
       A a = list.get(i);   
       ...   
   }   
  pre slučku funguje prechádzanie obsahom kolekcie List len pre List, pretože List je usporiadaná kolekcia
, interné nie je uzamknuté, čo je najvyššia efektivita, ale pri písaní viacvláknového procesu by sa mal zvážiť problém súbežných operácií!

Prechádzanie kolekciou Setov je to isté ako List, ale nemôžeš použiť for cyklus na iteráciu cez kolekciu Setov, pretože v kolekcii Set nie je metóda get().
  Ale dá sa to slučkovať s vylepšeniami
  Kolekcia 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);
  }






Predchádzajúci:Prechádzanie kolekcie zoznamov v Jave a komparatívna analýza dvoch implementačných tried
Budúci:Je to starší brat, je to loli dievča, prečo jej dal pohár?
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com