Pour éviter les avertissements du compilateur, le code comme ceci:
HashMap<Flows, FlowStatics> myHashMap = new HashMap<Flows, FlowStatics>();
myHashMap.put(flows, flowStatics);
Si vous ne paramétrisent pas la variable myHashMap , alors vous ne pouvez pas ajouter dans la deuxième ligne sans avoir des avertissements.
Voici l'exemple de travail sur la façon de 'print' des statistiques de HashMap:
HashMap<Flows, FlowStatics> myHashMap = new HashMap<Flows, FlowStatics>();
for (int i = 0; i < 10; i++) {
// OP commented that the map is populated in a loop
myHashMap.put(createNewFlow(), createNewFlowStatistics()); // populate map
}
System.out.printf("Number of items in Map: %s%n", myHashMap.keyset().size());
(OP demandé adivice dans un commentaire à une autre réponse)
Cette question est sans réplique, parce que si elle est « la bonne voie » dépend entièrement de ce que le but de votre programme est. Une chose à noter: L'objet que vous utilisez comme clé doit implémenter 'hashCode()' et 'equals()' correctement. – Jesper
@Red Lion: Oui, c'est vrai (avec les mises en garde que @Jesper mentionné). Souvenez-vous cependant que vous n'êtes pas seulement en train d'ajouter deux objets, vous créez un mapping entre un ('flows') et un autre (' flowStatics'), de sorte que vous pouvez ensuite rechercher 'flowStatics' en utilisant' flows' comme une clé. – David
poster votre classe Flows et nous pouvons vous dire si elle est acceptable pour une utilisation comme une clé HashMap –