Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 14824|Risposta: 0

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

[Copiato link]
Pubblicato su 04/01/2015 13:30:48 | | |

Ci sono tre modi per attraversare una Lista   
   
   <A> List list = nuovo <A>ArrayList();   
   list.add(nuova A());   
   list.add(nuova A());   
   ...   
   
  Il primo tipo:   
   for(<A>Iterator it = list.iterator();    it.hasNext();    )    {   
       ....   
   }   
   Questa via è in un ciclo
Allo stesso tempo, se vuoi rimuovere un elemento nel processo di piacere, puoi solo chiamare il metodo it.remove, non puoi usare il metodo list.remove, altrimenti ci sarà un errore di accesso concorrente.   
Ma la compatibilità è la migliore, adatta alla collezione Collection
   
   Il secondo tipo:   
   for(A a : lista) {   
       .....   
   }   
  Per ogni metodo è ancora un iteratore, il primo viene chiamato internamente, e la zuppa non cambia, e ci sono altre limitazioni a questo metodo circolare, quindi non è consigliato usarlo   
  Può essere usato solo sopra JK1.5 con scarsa compatibilità. È meglio usare questo

   Il terzo tipo:   
   for(int i=0;    i<lista.dimensione();    i++) {   
       A a = list.get(i);   
       ...   
   }   
  for loop, attraversare il contenuto di una collezione List funziona solo per List, perché List è una collezione ordinata
, l'interno non è bloccato, la massima efficienza, ma quando si scrive multithreading, si dovrebbe considerare il problema delle operazioni concorrenti!

Attraversare una collezione Set è lo stesso modo di una Lista, ma non puoi usare un ciclo for per iterare attraverso una collezione Set perché non c'è un metodo get() nella collezione Set.
  Ma può essere ripetuto con miglioramenti
  Collezione Attraversa il Set
  Set<String> set = nuovo HashSet<String>();
  set.add("qqq");
  set.add("www");
  set.add("eee");
  set.add("rrr");
  
  for(Stringa s : set){
   System.out.println("set="+s);
  }






Precedente:Attraversamento della raccolta di liste in Java e analisi comparativa di due classi di implementazione
Prossimo:È un fratello maggiore, è una ragazza loli, perché le ha dato una tazza?
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com