Le stockage d'un nouvel objet que la valeur d'une table de hachage?

Je suis en train d'essayer de trouver un moyen de stocker une nouvelle instance d'une classe en tant que valeur en Java table de hachage. L'idée m'a été donnée par un Java instructeur afin de créer une structure de stockage de données qui pourrait être utilisée pour un programme que je suis en train de travailler.

L'idée qu'il a recommandé à moi a été d'utiliser une table de hachage qui est stocké le nom de l'ordinateur comme la clé et la valeur d'une nouvelle instance de la classe InfoStor.class. InfoStor contient des méthodes telles que getName(), setName(), getMemory()...

J'ai la classe et de la méthode assez bien à l'installation d'une base de test pour voir si cela fonctionnerait ou pas. Le problème, je suis en cours d'exécution en est je ne peut pas comprendre comment utiliser les méthodes à l'intérieur de InfoStor une fois que j'ai créé une nouvelle entrée dans la table de hachage.

C'est le code que j'ai jusqu'ici;

VMware.class

import java.util.HashMap;

public class VMware {

    public static void main(String[] args) {                       
        HashMap <String, Object> mapper = new HashMap();            
        mapper.put("NS01", new InfoStor("NS01"));            
        //mapper.get("NS01").            
    }            
}

InfoStor.class

public class InfoStor {

    private String vmName;
    private String platform;
    private Integer memory;

    public InfoStor (String name) {
        vmName = name;
    }

    String getName(){
        return vmName;
    }

    void setPlatform(String p){
        platform = p;
    }

    String getPlatform(){
        return platform;
    }

    void setMemory(Integer m){
        memory = m;
    }

    Integer getMemory(){
        return memory;
    }
}

Ce que je suis en train d'accomplir, c'est quelque chose comme ceci (idée de base).

Object var = mapper.get("NS01");    
System.out.println(var.getMemory());

Je suis aller sur ce de la mauvaise façon? Toute aide est appréciée grâce.

Vous devez utiliser HashMap<String, InfoStor> au lieu de simplement HashMap<String, Object> de sorte que vous n'aurez pas à jeter en arrière pour InfoStor avant d'appeler getMemory().
Si la mémoire est quelque chose qui ne peut pas être nulle, je voudrais utiliser un int et le forcer à définir lorsque l'objet est construit (idem pour la plate-forme) je voudrais aussi nullcheck des trucs dans le constructeur.
vous rendez-vous compte que vous avez une réponse par Jon Skeet? 🙂

OriginalL'auteur ianc1215 | 2012-08-23