hashtable nidificate in java
  • In diretta da GamesVillage.it
    • News
    • -
    • In Evidenza
    • -
    • Recensioni
    • -
    • RetroGaming
    • -
    • Anteprime
    • -
    • Video
    • -
    • Cinema

Visualizzazione risultati da 1 a 6 di 6

Discussione: hashtable nidificate in java

Cambio titolo
  1. #1
    In Flame we Trust!! L'avatar di Darkbo$$
    Registrato il
    07-04
    Località
    Lonate Pozzolo (va)
    Messaggi
    853

    hashtable nidificate in java

    salve a tutti, vorrei delle delucidazioni su come poter fare delle hashtable nidificate...
    x spiegarmi meglio, mi serve una hashtable che come chiave abbia una stringa e che come dato abbia una hashtable al suo interno formata da un'integer come chiave e una stringa come dato.
    consigli?

    l'idea sarebbe qualcosa del tipo:
    Hashtable h = new Hashtable<String, Hashtable>();
    h.put("stringa",new Hashtable<Integer,String>());

    poi xò come faccio a gestire i dati nella hashtable + interna??
    grazie anticipatamente

  2. #2
    panzone
    Ospite
    Beh, tramite get ottieni l' hash table più interna in questa maniera no ? Poi effettui la ricerca in questa interna. Una roba tipo:

    String hashGetString(HashTable input, String chiave, int chiave 2){
    HashTable h = input.get(chiave);
    return h.get(chiave2);
    } ( Volendo si poteva fare solo su una riga sola, ma gia questa è orribile, non esageriamo )

    Non è il modo più carino, ma gia che ci siamo...

    Domanda però: perchè tutto ciò ? Va bene che con le hash table hai un tempo di ricerca costante nel 99% dei casi ma è anche uno spreco assurdo di memoria fonderne diverse Visto che devi cercare delle stringhe usando interi non conviene implementare una map ( la quale sfrutterà il buon ordinamento degli interi per permettere una ricerca logaritmica ) oppure, se hai a disposizione subito l' intero elenco e devi fare numerose ricerce, una cara ricerca binaria ?
    Ultima modifica di panzone; 15-05-2012 alle 22:03:20

  3. #3
    In Flame we Trust!! L'avatar di Darkbo$$
    Registrato il
    07-04
    Località
    Lonate Pozzolo (va)
    Messaggi
    853
    Citazione panzone Visualizza Messaggio
    Beh, tramite get ottieni l' hash table più interna in questa maniera no ? Poi effettui la ricerca in questa interna. Una roba tipo:

    String hashGetString(HashTable input, String chiave, int chiave 2){
    HashTable h = input.get(chiave);
    return h.get(chiave2);
    } ( Volendo si poteva fare solo su una riga sola, ma gia questa è orribile, non esageriamo )

    Non è il modo più carino, ma gia che ci siamo...

    Domanda però: perchè tutto ciò ? Va bene che con le hash table hai un tempo di ricerca costante nel 99% dei casi ma è anche uno spreco assurdo di memoria fonderne diverse Visto che devi cercare delle stringhe usando interi non conviene implementare una map ( la quale sfrutterà il buon ordinamento degli interi per permettere una ricerca logaritmica ) oppure, se hai a disposizione subito l' intero elenco e devi fare numerose ricerce, una cara ricerca binaria ?
    l'elenco di stringhe ed interi è tutto all'interno di un file, che mi viene dato in input !
    la cosa grave è che nelle stringhe ci sono delle varie "funzioni" che mi chiedono di esser rimandate ad altri elementi del file, facendomi sprecare un sacco di tempo (a mio parere) ad andare avanti e indietro nel file x cercare i vari elementi...
    quindi pensavo appunto di leggere tutto il file, salvarlo in qualche struttura di memoria e leggerlo come voglio... è una cattiva idea?

  4. #4
    panzone
    Ospite
    Se il file ha dimensioni umane é meglio averlo tutto in memoria sicuramente visto che evita sbattimenti non di poco xd. Non conoscendo la struttura dell input e le varie "funzioni" non saprei di preciso darti il consiglio migliore. Tuttavia visto che usi stringhe per ottenere interi che a loro volta usi per ottenere stringhe userei una sorted map per la seconda parte ( specie se sai a priori gli interi ) e ricavi la seconda chiave di ricerca nella mappa tramite hash/funzione della prima stringa.

    EDIT: Potresti far un esempio di input ? Non ho capito se la funzione è unica per tutte le stringhe o no.
    Ultima modifica di panzone; 16-05-2012 alle 08:29:19

  5. #5
    In Flame we Trust!! L'avatar di Darkbo$$
    Registrato il
    07-04
    Località
    Lonate Pozzolo (va)
    Messaggi
    853
    ok aposto, ho risolto utilizzando una hasthable di arraylist

  6. #6
    dottormale
    Ospite
    hashtable di hastable, che cosa brutta... usa le liste di trabocco figliolo..

Regole di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •