|
|||||||
|
|
|
![]() |
|
|
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 15: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 16: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 14: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: 21:45.




















