PDA

View Full Version : [java] hash table


marpessio
09-04-2008, 14:13
Salve a tutti sto facendo un programmino java il mio problema è il seguente: il programma utilizza un file di testo dove sono memorizzati una lista di CAP io dovrei fare tipo una group by cioè raggrupparli per uguaglianza volevo fare cio utilizzando delle hash table per migliorarne l'efficenza...come posso fare?

andbin
09-04-2008, 15:42
il programma utilizza un file di testo dove sono memorizzati una lista di CAP io dovrei fare tipo una group by cioè raggrupparli per uguaglianza volevo fare cio utilizzando delle hash table per migliorarne l'efficenza...come posso fare?Dovresti spiegare un po' meglio cosa vuoi fare. Una map (HashMap/Hashtable in Java) è una collezione che permette di associare 1 valore ad 1 chiave. Quindi dovresti prima di tutto indicare cosa sono le tue chiavi (i CAP?) e i tuoi valori.

Poi per la questione del CAP, si sa bene che più paesi possono avere lo stesso CAP. Quindi cosa vuoi fare? Dato un CAP ottenere una lista dei paesi con quello stesso CAP che sono presenti nella tua base dati? O altro?

marpessio
09-04-2008, 16:30
ho un file di testo del tipo:

nome | cognome | via | cap

devo raggruppare i record per cap uguali e devo trovare un metodo veloce se fosse su db con la group by ma essendo su file di testo come posso fare?

andbin
09-04-2008, 16:44
ho un file di testo del tipo:

nome | cognome | via | cap

devo raggruppare i record per cap ugualiInnanzitutto dovresti creare una classe (es. Nominativo) che rappresenta il tuo record e che contiene i vari dati.
Quindi potresti usare una HashMap ed avere come chiave la stringa del CAP e come valore una lista (ArrayList o simile) di oggetti Nominativo.

marpessio
10-04-2008, 09:01
ma io devo raggruppare i miei record secondo i CAP uguali con hash non posso avere le chiavi uguali...come posso fare?

shinya
10-04-2008, 09:45
Come dice andbin va bene.
Il CAP è uno (la chiave). Al CAP associ una lista di record che hanno quel CAP.

andbin
10-04-2008, 09:48
ma io devo raggruppare i miei record secondo i CAP uguali con hash non posso avere le chiavi uguali...come posso fare?Può anche darsi che non abbia capito io cosa devi fare di preciso. Posso dirti quello che è logico e che farei io. Se più record possono avere lo stesso CAP, allora nella map avrò 1 chiave con quel CAP e come valore associato avrò una lista (ArrayList o simile) che contiene tutti i record con quel CAP.