Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 26

Discussione: hashmap

  1. #1

    hashmap

    Ciao! vorrei ricostruire il contenuto di una tabella, con identificatore e PIU' di un campo. E' possibile adottare una hashmap o essa può contenere solo chiave e valore? (non può avere più di un valore?) Chiedo perchè non riesco a trovare molti esempi online. Eventualmente è necessario l'uso di una key e di una struct, per implementare qualcosa del genere?

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: hashmap

    Originariamente inviato da MarvinivraM
    Ciao! vorrei ricostruire il contenuto di una tabella, con identificatore e PIU' di un campo. E' possibile adottare una hashmap o essa può contenere solo chiave e valore? (non può avere più di un valore?) Chiedo perchè non riesco a trovare molti esempi online. Eventualmente è necessario l'uso di una key e di una struct, per implementare qualcosa del genere?
    Ma chiave/valore possono essere qualunque oggetto!! (e per la chiave deve avere certi requisiti, chiaramente). Nulla ti vieta di usare come valore un array, una collezione, un tuo oggetto con diverse proprietà.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    potresti farmi un esempio su come creare una HashMap avente una stringa per chiave ed un array di stringhe (3 stringhe). Te ne sarei molto grato

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da MarvinivraM
    potresti farmi un esempio su come creare una HashMap avente una stringa per chiave ed un array di stringhe (3 stringhe). Te ne sarei molto grato
    codice:
    HashMap<String,String[]> map = new HashMap<String,String[]>();
    
    String[] v = { "aa", "bb", "cc" };
    
    map.put("ciao", v);
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Ti ringrazio, ma non riesco a visualizzare correttamente i valori: quando chiedo di stampare a video ottengo java.Sting e una strana scritta che mi fa venire in mente le allocazioni di memoria. Il caricamento e la stampa degli username avviene perfettamente, i valori no.
    In ogni caso non ho ben capito come settare un determinato valore (in questo caso una precisa stringa del vettore di tre stringhe componenti il valore).

    String query = "SELECT * FROM Utenti";
    // Carico le informazioni del database nella hashmap
    ResultSet r = s.executeQuery(query);


    while (r.next()){
    //System.out.println(r.getString("Username"));
    String Iden = r.getString("Username");
    String[] Vals = {"latitude","longitude","speed"};
    Users.put(Iden,Vals);
    }

    Set UsersKeys = Users.keySet();
    Iterator it = UsersKeys.iterator();

    ArrayList list=new ArrayList(Users.values());
    Iterator iterator=list.iterator();

    // Stampo a console tutti gli utenti (chiavi)
    while (it.hasNext()) {

    String me = (String) it.next();
    System.out.println(me + iterator.next());
    }

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da MarvinivraM
    Ti ringrazio, ma non riesco a visualizzare correttamente i valori
    Se vuoi stampare il contenuto della Map sfruttando i generics e il for-each, puoi fare:

    codice:
    for (String k : Users.keySet()) {
        String[] v = Users.get(k);
    
        System.out.println(k);
        for (String s : v) {
            System.out.println(s);
        }
    }
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7
    grazie mille per l'aiuto! io devo implementare la ricerca di una key e il settaggio dei valori corrispondenti alla key, ma non so come settare.

    Per cercare posso utilizzare questo codice:

    if (Users.containsKey(key)){

    ...
    ...

    }

    ma per settare un valore? Non riesco a trovare nulla in modo da utilizzare
    un comando tipo:

    Users.setValue(key,{"parametro1","parametro2","par ametro3"})

    .. un aiutino? E grazie ancora, ti sono debitore

  8. #8
    Utente di HTML.it L'avatar di Pastore12
    Registrato dal
    Oct 2008
    Messaggi
    1,051
    non esiste un metodo set. Però si possono combinare i metodi remove e put.

    Credo che grazie a andbin l'uso delle api ormai ti sia chiaro. Ciao!
    "Ethics are to me something private. Whenever you use it as an argument for why somebody_else should do something, you’re no longer being ethical, you’re just being a sanctimonious dick-head"
    Linus Torvalds

  9. #9
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da MarvinivraM
    ma per settare un valore? Non riesco a trovare nulla in modo da utilizzare
    un comando tipo:

    Users.setValue(key,{"parametro1","parametro2","par ametro3"})

    .. un aiutino?
    Scusa eh, ma il put() l'ho fatto vedere prima!!! put() associa un valore ad una chiave, se la chiave c'è già cambia il valore, altrimenti aggiunge una nuova associazione chiave-valore.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  10. #10
    in che senso? Comunque ci avevo pensato, ma essendo nuovo come argomento preferivo prendere una via "breve" piuttosto che andare a costruirla da solo (è la cosa più difficile da capire, in questo settore ) . Grazie mille per aver illuminato la via del cammino, senza di voi non saprei come fare...mi chiedo ancora cosa intendi con la (credo) ironica frase sulle api

    ah ma con la "put" avviene la sovrascrittura? ah, allora non c'è bisogno del replace! ma devo necessariamente salvare gli altri parametri che non voglio che cambino? o viene sovrascritto solamente il nuovo parametro?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.