|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Mar 2002
Città: Roma
Messaggi: 4205
|
[java] iterazione su ArrayList
ciao a tutti,
ho un problema ad iterare su un ArrayList di Double... (semplificando la cosa) se faccio: Codice:
for(int x=0; x<vettoreDiVettori.size(); x++){
System.out.println("indice: "+ x);
System.out.println("elemento: "+ vettoreDiVettori.get(x) );
}
il problema è che gli elementi all'interno del vettore non sono unici, per cui con una cosa del tipo: Codice:
for(ArrayList<Double> x : vettoreDiVettori){
System.out.println("indice: "+vettoreDiVettori.indexOf(x));
System.out.println("elemento: "+ vettoreDiVettori.get(x) );
}
come si risolve un problema del genere? |
|
|
|
|
|
#2 | ||
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Quote:
A me sembra vada benissimo... Se invece vuoi proprio usare il "for each": Quote:
Devi gestire un contatore esplicitamente, in modo che ti faccia da indice: Codice:
int counter = 0;
for (ArrayList<Double> list : vettoreDiVettori) {
System.out.println("indice: "+counter);
System.out.println("elemento: "+ list);
counter++;
}
Considera che il "for each" altro non è che "zucchero sintattico" poichè dietro le quinte usa un Iterator per scorrere la collezione. Se invece ti interessa solo iterare su vettoreDiVettori per recuperare ogni singolo ArrayList<Double> contenuto (e non ti interessa l'indice) il codice si snellisce notevolmente: Codice:
for (ArrayList<Double> list : vettoreDiVettori)
System.out.println(list.toString());
Codice:
Iterator<ArrayList<Double>> it = vettoreDiVettori.iterator();
while (it.hasNext()) {
ArrayList<Double> list = it.next();
System.out.println(list.toString());
}
__________________
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 : 24-06-2010 alle 14:08. |
||
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 18:14.










| 









