|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Jan 2010
Messaggi: 64
|
[JAVA] problema con arraylist
salve ho un problema
io uso questo for per scandire un array Codice:
for(Case c : casi ) { } ma se il mio vettore casi fosse un arraylist invece che un array semplice come dovrei fare? e nel caso fosse un Vector? grazie |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Apr 2002
Città: Palermo
Messaggi: 4913
|
Ciao, il for-each funziona tranquillamente con tutti i tipi che implementano l'interfaccia List.
Quindi qualsiasi sia : List<Case> casi = new ArrayList<Case> oppure new LinkedList<Case> puoi usare il for-each. bye
__________________
Sun Certified Java Programmer - Sun Certified Web Component Developer - Sun Certified Business Component Developer |
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: Jan 2010
Messaggi: 64
|
e il codice com'è?
|
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Di cosa, del ciclo for-each? Identico a quello che hai postato nel primo messaggio.
Alla fine il for-each è "zucchero sintattico": dietro le quinte usa l'iterator della collezione coinvolta nel ciclo. Qualsiasi oggetto che sia un'implementazione dell'interfaccia java.util.Iterable<E> (e che quindi implementi il metodo per restituire un iteratore su se stessa) può essere scorso con il for-each. Per esempio, scorrere una List in tre modi: ciclo for "classico", iteratore, cilco "for-each": Codice:
List<String> stringhe = new ArrayList<String>(); ...riempiamo la lista [1] ciclo for for(int i=0; i<stringhe.size(); i++) { String s = stringhe.get(i); ... fai qualcosa con s } [2a] iterator Iterator<String> it = stringhe.iterator(); while (it.hasNext()) { String s = it.next(); ... fai qualcosa con s } [2b] iterator - in ciclo for for (Iterator<String> it = list.iterator(); it.hasNext();) { String s = it.next(); ... fai qualcosa con s } [3] for-each... iterator camuffato for (String s : stringhe) { ... fai qualcosa con s }
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) Ultima modifica di banryu79 : 01-02-2010 alle 14:54. |
![]() |
![]() |
![]() |
#5 |
Member
Iscritto dal: Jan 2010
Messaggi: 64
|
nel caso uso Vector com'è il ciclo?
|
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
|
edito: allora ho detto una stronzata
![]() Ultima modifica di ndakota : 02-02-2010 alle 15:29. |
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Il foreach funziona con qualsiasi cosa che implementi java.util.Iterable.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
![]() |
![]() |
![]() |
#8 |
Member
Iscritto dal: Jan 2010
Messaggi: 64
|
quindi anche se uso Vector la forma del ciclo rimane la stessa?
for(Case c : casi ) { } |
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
|
|
![]() |
![]() |
![]() |
#10 |
Member
Iscritto dal: Jan 2010
Messaggi: 64
|
un altra cosa...per fare il return di un Vector?? com'è il codice?
ad esempio il mio vector casi di oggetti Case return.....? |
![]() |
![]() |
![]() |
#11 |
Senior Member
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
|
|
![]() |
![]() |
![]() |
#12 |
Senior Member
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
|
non solo List, anche Iterable (che é estesa da List).
|
![]() |
![]() |
![]() |
#13 |
Member
Iscritto dal: Jan 2010
Messaggi: 64
|
non mi riconosce li al for del Vector il vettore casi
Type mismatch: cannot convert from element type Object to Case Ultima modifica di blackguardian : 03-02-2010 alle 13:04. |
![]() |
![]() |
![]() |
#14 |
Senior Member
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
|
|
![]() |
![]() |
![]() |
#15 |
Member
Iscritto dal: Jan 2010
Messaggi: 64
|
Vector casi = new Vector();
|
![]() |
![]() |
![]() |
#16 |
Senior Member
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
|
E dentro lo riempi solo di Case giusto? A questo punto hai due alternative:
1) o lo fai diventare Codice:
Vector<Case> casi = new Vector<Case>(); 2) fai diventare il for Codice:
for(Object obj : casi) |
![]() |
![]() |
![]() |
#17 |
Member
Iscritto dal: Jan 2010
Messaggi: 64
|
grazie mille siete dei grandi...
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:41.