|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Mar 2002
Città: Roma
Messaggi: 4182
|
[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 13:08. |
||
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 05:23.