|
|||||||
|
|
|
![]() |
|
|
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: 11:03.



















