Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Domandina sulle Map

1 view
Skip to first unread message

Dariosky

unread,
Oct 11, 2005, 3:23:49 PM10/11/05
to
Rieccomi con un dubbio da poco,
è possibile creare una Map(per esempio una HashMap) riempendola al momento
della definizione?

Per esempio vorrei creare un dizionario così
Map <String, String> vocabolario = new HasMap<String, String>()
{"hello":"ciao", "boh","non so"}

senza dover creare prima il dizionario e poi popolarlo (la sintassi è presa
in prestito da Python)...

pb

unread,
Oct 12, 2005, 2:31:37 AM10/12/05
to
magari :)

--

"Dariosky" <n...@mail.prot> ha scritto nel messaggio
news:434c1...@newsgate.x-privat.org...


> Rieccomi con un dubbio da poco,

> č possibile creare una Map(per esempio una HashMap) riempendola al momento
> della definizione?
>
> Per esempio vorrei creare un dizionario cosě


> Map <String, String> vocabolario = new HasMap<String, String>()
> {"hello":"ciao", "boh","non so"}
>

> senza dover creare prima il dizionario e poi popolarlo (la sintassi č

Gian Uberto Lauri

unread,
Oct 12, 2005, 5:05:51 AM10/12/05
to
>>>>> Long count = 12.19.12.12.13; tzolkin = 3 Ben; haab = 11 Yax.
>>>>> I get words from the Allmighty Great Gnus that
>>>>> "D" == Dariosky <n...@mail.prot> writes:

D> Rieccomi con un dubbio da poco, č possibile creare una Map(per
D> esempio una HashMap) riempendola al momento della definizione?

In pochi minuti ho esteso HashMap in modo che avesse un costruttore
che accetti un array bidimensionale di Object (java 1.4) e che quindi
permette cose del tipo:

PCUSHashMap fihm =
new PCUSHashMap(new Object[][]{{"aaa","Valore per aaa"},
{"bbb","Valore per bbb"},
{"ccc","Valore per ccc"},
{"ddd","Valore per ddd"}});

/*
* All'inizio avevo chiamato FIHashMap la classe, FI da Fast
* Inizialization, ma non so perché il nome non mi tornava... :) )
*/


Ci ho messo veramente poco a fare l'estensione, un Error per gestire le
situazioni in cui il parametro di ingresso non č un Object[n][2] ed un
programma per testare il tutto.

--
/\ ___
/___/\__|_|\_|__|___Gian Uberto Lauri_____________________
//--\ | | \| | Integralista GNUslamico
\/ e allevatore di bug da competizione

Maurizio Penna

unread,
Oct 12, 2005, 6:28:22 AM10/12/05
to
"Gian Uberto Lauri" <sa...@spammer.impiccati.it> ha scritto nel messaggio
news:87wtkjk...@paperoga.gianoziaorientale.it...

> >>>>> Long count = 12.19.12.12.13; tzolkin = 3 Ben; haab = 11 Yax.
> >>>>> I get words from the Allmighty Great Gnus that
> >>>>> "D" == Dariosky <n...@mail.prot> writes:
>

> In pochi minuti ho esteso HashMap in modo che avesse un costruttore
> che accetti un array bidimensionale di Object (java 1.4) e che quindi

Scusa, ma perché Object ? Lui vuole creare una tabella di hash con un
template (java 1.5) tipizzandolo come String. Se poi, vuoi continuare ad
utilizzare Object, mi chiedo a che cosa servono i template....

Ciao,
Maurizio.


Maurizio Penna

unread,
Oct 12, 2005, 6:36:11 AM10/12/05
to
"Dariosky" <n...@mail.prot> ha scritto nel messaggio
news:434c1...@newsgate.x-privat.org...

> Rieccomi con un dubbio da poco,
> è possibile creare una Map(per esempio una HashMap) riempendola al
momento
> della definizione?
>
> Per esempio vorrei creare un dizionario così
> Map <String, String> vocabolario = new HasMap<String, String>()
....

> senza dover creare prima il dizionario e poi popolarlo (la sintassi è
presa
> in prestito da Python)...

in quel momento hai già creato la tua mappa, per riempirla non ti resta
altro che usare i metodi messi a disposizione dalla classe (un ciclo for per
riempirla non mi senbra una cosa così complicata da fare). Derivare da
HasMap solo per riempirla con dei valori di default predefiniti, secondo me,
non ha molto senso. Ovvero non ne vedo l'utilità, visto che quei valori,
vengono modificati da ogni riutilizzo della classe, e, in una eventuale
utilizzazione, avrei piacere di poterli modificare, magaari mettendoli
dentro un file di configurazione.

Ciao,
Maurizio.


Dariosky

unread,
Oct 12, 2005, 8:34:27 AM10/12/05
to
Gian Uberto Lauri wrote:
> In pochi minuti ho esteso HashMap in modo che avesse un costruttore
> che accetti un array bidimensionale di Object (java 1.4) e che quindi
> permette cose del tipo: [...]

Grazie!
Mi pare una buona idea utilizzare gli array visto che permettono
l'inizializzazione al volo (in alternativa si può fare con una stringa da
"parsare"). Mi metto subito a provarci.

PS. Non sapevo frequentassi anche questo gruppo, W il PlutoPD ;)

0 new messages