Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 14824|Odpověď: 0

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

[Kopírovat odkaz]
Zveřejněno 04.01.2015 13:30:48 | | |

Existují tři způsoby, jak procházet Seznam   
   
   List<A> list = nový ArrayList<A>();   
   list.add(new A());   
   list.add(new A());   
   ...   
   
  První typ:   
   for(Iterator<A> it = list.iterator();    it.hasNext();    )    {   
       ....   
   }   
   Tímto způsobem je to v cyklu
Zároveň, pokud chcete odstranit prvek v procesu potěšení, můžete použít pouze metodu it.remove (metodu it.remove ), ale nemůžete použít metodu list.take, jinak dojde k chybě souběžného přístupu.   
Ale kompatibilita je nejlepší, vhodná pro kolekci
   
   Druhý typ:   
   for(A a : list) {   
       .....   
   }   
  Pro každou metodu je stále iterátor, první se volá interně a polévka se nemění, a existují i další omezení této kruhové metody, proto se nedoporučuje ji používat   
  Lze jej používat pouze nad JK1.5 s nízkou kompatibilitou. Set je nejlepší použít právě tuto

   Třetí typ:   
   for(int i=0;    i<list.size();    i++) {   
       A a = list.get(i);   
       ...   
   }   
  pro smyčku funguje procházení obsahu kolekce List pouze pro List, protože List je uspořádaná kolekce
, interní není zamčeno, což je nejvyšší účinnost, ale při zápisu vícevláknového zpracování by měl být zohledněn problém souběžných operací!

Procházení kolekce Set je stejné jako u Seznamu, ale nemůžete použít for smyčku k iteraci kolekce Set, protože v této kolekci není metoda get().
  Ale lze to smyčkovat s vylepšeními
  Kolekce 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);
  }






Předchozí:Procházení sbírky seznamů v Javě a komparativní analýza dvou implementačních tříd
Další:Je to starší bratr, je to holka s loli, proč jí dal kelímek?
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com