salve gente, io sono in questa situazione:

ho un arraylist contenente degli id: id=9, id=2, id=5...............

ho una griglia così formata:

cognome=terzo;nome=lupin;id=9;
nome=jigen;cognome=daisuke;id=1;
id=3;cognome=mine;
cognome=ishikawa;id=4;nome=goemon;
tipologia=ladro;id=9;
id=1;tipologia=ladro;
id=2;nome=kouichi;cognome=zenigata;
id=3;nome=fujiko;tipologia=ladro;

devo creare un metodo che ordini la griglia in base agli id e ottenere:

nome=lupin cognome=terzo tipologia=ladro
nome=jigen cognome=daisuke tipologia=ladro
nome=fujiko cognome=mine tipologia=ladro
nome=goemon cognome=ishikawa
nome=kouichi cognome=zenigata

io ho creato il seguente metodo:

codice:
public String[][] crea_database(String[][] griglia, ArrayList lista_id, int nr){
		int num_righe = lista_id.size();
		String[][] nuova_griglia = new String[num_righe][COLONNE];
		//estraggo l'id
		for(int i=0; i<num_righe; i++){
			String id_target = lista_id.get(i).toString();
			for(int j=0; j<nr; j++){
				//per ogni riga, controllo le celle per vedere se c'è l'id target
				for(int k=0; k<COLONNE; k++){
					//se trovo l'id target, riempo la nuova griglia
					if(id_target == griglia[j][k]){
						for(int z=0; z<COLONNE; z++){
							if(griglia[j][z] != null && griglia[j][z].startsWith("nome")){
								nuova_griglia[i][0]=griglia[j][z];
							}
							if(griglia[j][z] != null && griglia[j][z].startsWith("cognome")){
								nuova_griglia[i][1]=griglia[j][z];
							}
							if(griglia[j][z] != null && griglia[j][z].startsWith("tipologia")){
								nuova_griglia[i][3]=griglia[j][z];
							}
							if(griglia[j][z] != null && griglia[j][z].startsWith("AA")){
								nuova_griglia[i][5]=griglia[j][z];
							}
							if(griglia[j][z] != null && griglia[j][z].startsWith("media")){
								nuova_griglia[i][6]=griglia[j][z];
							}
							if(griglia[j][z] != null && griglia[j][z].startsWith("dip")){
								nuova_griglia[i][5]=griglia[j][z];
							}
							if(griglia[j][z] != null && griglia[j][z].startsWith("settore")){
								nuova_griglia[i][6]=griglia[j][z];
							}
						}//chiudo for z
					}//chiudo if
				}//chiudo for k
			}//chiudo for j
		}//chiudo for i
		return nuova_griglia;
	}
ma ottengo:
nome=lupin cognome=terzo null null
nome=jigen cognome=daisuke
null cognome=mine
nome=goemon cognome=ishikawa
nome=kouichi cognome=zenigata

cioè mi ordina per bene gli elementi sulle righe ma non trova gli altri elementi appartenenti allo stesso id...

mi ci sto scervellando da ore, dove sbaglio???

buon anno a tutti