Salve a tutti
Sto cercando di scrivere un metodo che, dato un insieme di nodi caratterizzati da coordinate (oltre che da un proprio ID e altre info), per ciascun nodo crea una lista dei nodi vicini in base ad una propria "vista".
Vorrei quindi per ogni nodo memorizzare una lista degli oggetti (nodi) vicini.
Ho provato così:
codice:
ArrayList<ArrayList<Nodo>> vicini=new ArrayList<ArrayList<Nodo>>();
for(int i=0;i<10;i++){
for(int j=0;j<10;j++){
double distanza =Math.sqrt((double) (nodo[i].getX()-nodo[j].getX())*(nodo[i].getX()-nodo[j].getX()) + (nodo[i].getY()-nodo[j].getY())*(nodo[i].getY()-nodo[j].getY()));
if(distanza!=0.0 && vista-distanza>0.0)
{ vicini.get(i).add(nodo[j]);
System.out.println("id vicino "+vicini.get(i).get(j).getId());
}
}
Ma mi dà Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
Dove sbaglio?
Grazie in anticipo 
Ps: volevo creare un array bidimensionale, però non mi sembra una soluzione ottimale visto che i nodi dovrebbero essere parecchi (per adesso ne ho messi solo 10 per provare)