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

    Come aggiornare un attributo di chiave di un map

    Salve ragazzi,

    ho creato un Map <chiave, valore>, dove chiave è un oggetto di classe creato da me.

    Se volessi aggiornare un attributo di una chiave presente nel map, come dovrei procedere?

    Es.
    Map<chiave,valore> mappa;
    chiave ha un metodo set.attributo().
    prelevo con mappa.keySet() un set di chiavi, però non posso aggiornare un attributo di una di queste chiavi.

    Quindi come faccio ad aggiornare appunto con tale metodo una chiave presente in mappa?

    Grazie mille per il vostro aiuto

    Donato!

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    basta che modifichi la chiave interessata:
    codice:
    import java.util.*;
    /**
     *
     * @author Andrea
     */
    public class Esercizio42 {
        
        private class MyKey {
            
            private String nome, cognome;
            private int eta;
            
            public void setNome(String nome) {
                this.nome = nome;
            }
            
            public String getNome() {
                return this.nome;
            }
            
            public void setCognome(String cognome) {
                this.cognome = cognome;
            }
            
            public String getCognome() {
                return this.cognome;
            }
            
            public void setEta(int eta) {
                this.eta = eta;
            }
            
            public int getEta() {
                return this.eta;
            }
            
            public MyKey(String nome, String cognome, int eta) {
                this.nome = nome;
                this.cognome = cognome;
                this.eta = eta;
            }
            
            public String toString() {
                return nome+" "+cognome+" "+eta;
            }
        }
        
        private HashMap<MyKey, Date> map;
        
        public Esercizio42() {
            map = new HashMap<MyKey, Date>();
            
            // Creo un po' di entries
            MyKey key1 = new MyKey("Mickey", "Mouse", 45);
            MyKey key2 = new MyKey("Donald", "Duck", 25);
            MyKey key3 = new MyKey("Duffy", "Duck", 20);
            
            GregorianCalendar cal = new GregorianCalendar();        
            
            cal.set(1980, 1, 1);        
            map.put(key1, cal.getTime());
            
            cal.set(1990, 5, 5);        
            map.put(key2, cal.getTime());
            
            cal.set(2000, 9, 14);
            map.put(key3, cal.getTime());
            
            System.out.println("Prima della modifica:\n"+map+"\n****************************\n\n");
            
            // Modifico Mikey Mouse
            key1.setEta(55);
            
            // Ristampo
            System.out.println("Dopo modifica:\n"+map);
        }
        
        public static void main (String[] args) {
            new Esercizio42();
        }
        
    }
    oppure non ho capito la tua domanda?
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    Si perfetto grazie mille!

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.