Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Estrarre chiavi da una HashMap

    salve a tutti, sono entrato in un vicolo cieco e non riesco a capire come uscire.

    Devo estrarre da questa mappa :

    codice:
    private Map<Negozio, Film> mappaFilm = new HashMap<Negozio, Film> ();
    il riferimento a ogni negozio, oggetto in cui ci sono le proprietà che mi servono.
    Avevo pensato di inserirel'elenco delle chiavi in un array e da li prendere ogni volta il riferimento, ma credo che i due tipi siano incompatibili.

    Qualcuno mi aiuta per favore ?
    Grazie in anticipo.
    Gli uomini sono diventati strumenti dei loro strumenti.

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

    Re: Estrarre chiavi da una HashMap

    Originariamente inviato da cequeta
    Devo estrarre da questa mappa :

    codice:
    private Map<Negozio, Film> mappaFilm = new HashMap<Negozio, Film> ();
    il riferimento a ogni negozio, oggetto in cui ci sono le proprietà che mi servono.
    Se vuoi puoi "iterare" sulle chiavi della map:

    for (Negozio n : mappaFilm.keySet()) { ..... }

    Questo sopra è il "for-each" di Java 5 sfruttato in combinazione con i generics.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Grazie mille, credo di aver risolto così (non ho la possibilità di eseguirlo) :
    codice:
    public Negozio getNegozio (int index) {
         List listaNegozi = new ArrayList ();
         for (Negozio n : mappaFilm.keySet()) {
                listaNegozi.add (n);
         }
        Negozio negozio = (Negozio) listaNegozi.get (index);
        .........
    che dici ?
    Gli uomini sono diventati strumenti dei loro strumenti.

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da cequeta
    che dici ?
    Vuoi, per così dire, "indicizzare" per indice le chiavi di una map?? A parte il fatto che nel codice sopra non hai usato i "generics" per la lista. Ma a parte questo .... ha senso? Parlo del fatto che mappaFilm fa riferimento ad un HashMap. E in un HashMap l'ordine delle chiavi .... non lo sai / non è prevedibile. Quindi che ti servirebbe usare un "indice"???

    Hai capito la questione? In un HashMap non c'è un ordine noto/prevedibile delle chiavi. E l'ordine "fisico" (che comunque esiste pur, no?) delle chiavi può addirittura cambiare dopo inserimenti nella mappa.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    si , lo so che non è possibile indicizzare le chiavi di una mappa...infatti non era questo il mio obiettivo.
    Dovevo (e sono riuscito con il codice che ho postato) visualizzare in una JTable le proprietà delle chiavi della mappaFilm, le ho inserite all'interno della lista e richiamate in base a index che corrisponde alle righe della JTable.
    Ti chiedevo solo se il modo di scrivere era corretto
    ...comunque sia grazie mille, tornerò a torturarti con altre domande
    Gli uomini sono diventati strumenti dei loro strumenti.

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da cequeta
    Dovevo (e sono riuscito con il codice che ho postato) visualizzare in una JTable le proprietà delle chiavi della mappaFilm, le ho inserite all'interno della lista e richiamate in base a index che corrisponde alle righe della JTable.
    Ti chiedevo solo se il modo di scrivere era corretto
    Se l'obiettivo era quello, sì, è corretto iterare sulle chiavi e metterle in una lista (e poi questa lista usarla per altro, ovviamente).
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.