|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Dec 2003
Messaggi: 458
|
nome dinamico per oggetti Hashmap(JAVA)
Io ho un oggetto
HashMap oggetto1 = new HashMap(); tale oggetto viene cosi 'riempito' HashMap oggetto2 = new HashMap(); oggetto1.put("1",oggetto2); HashMap oggetto3 = new HashMap(); oggetto1.put("2",oggetto3); HashMap oggetto4 = new HashMap(); oggetto1.put("3",oggetto4); ecc. Ecco siccome non so quante saranno le HashMap( e quindi le chiavi) da inserire nell'oggetto1 come posso crearle dinamicamente dando loro un nome dinamico?? qcosa del tipo(so che non funziona ma faccio un esempio): for (i =1;i<variabile;i++) { HashMap (oggetto+i) = new HashMap(); } dove (oggetto+i) mi crea dinamicamente il nome della variabile(in javascript mi sembra che sia eval la funzione adatta) Si puo' fare qcosa di simile in java??? O altrimenti come potrei ovviare??? grazie |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
|
il nome e' solo un riferimento per accedere all'istanza dell'oggetto ma non e' necessario:
Codice:
HashMap contenitore = new HashMap(); for (i =1;i<variabile;i++) { HashMap temp = new HashMap(); temp.put(ecc., ecc.); contenitore.put(new Integer(i), temp); } |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Dec 2003
Messaggi: 458
|
ok ho risolto, appena ho tempo spiego come.
grazie |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Dec 2003
Messaggi: 458
|
mi sa che spiego tutto tra qualche giorno, sono troppo incasinato
cmq grazie a tutti |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Dec 2003
Messaggi: 458
|
ho risolto cosi
Codice:
private static HashMap labels = new HashMap(); public static void setLabel() { ..... while(....) { String id=metodoQualunque("id"); HashMap label = new HashMap(); while(....) { .... label.put(..,..);//mi costruisco la mia nuova hashmap } labels.put(id , label);//aggiungo un valore alla prima hashmap } } public static String getLabel(String a, String b) { HashMap hm = (HashMap)labels.get(a); String valore = (String)hm.get(b); return valore; } |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:57.