Comment créer une table de consultation avec une touche et 4 valeurs?

Miguel Rozsas:

Je parviens à créer une table de consultation avec 1 clé et 2 valeurs:

public static Map<String, Map.Entry<String, String>> myMap;
myMap= new HashMap<String, Map.Entry<String, String>>();

myMap.put("key 1", new AbstractMap.SimpleEntry<String, String>(" value 1.1", "value 1.2"));
myMap.put("key 2", new AbstractMap.SimpleEntry<String, String>(" value 2.1", "value 2.2"));
// and so on...

// retrieve the key, values
Map.Entry<String, String> pair;
for (String key : myMap.keySet() ) {
            pair = oidMap.get(key);
            value1= pair.getKey();
            value2= pair.getValue();
            ///use the key, value1, value2 as needed
}

Mais quand je l'ai essayé de l'étendre à 4 valeurs que je suis un tas d'erreurs que je figure que l'entrée est limitée à 2 valeurs seulement!

public static Map<String, Map.Entry<String, String, Float, String>> myMap;
myMap= new HashMap<String, Map.Entry<String, String, Float, String>>(); 

Alors, s'il vous plaît, comment faire pour quelque chose de similaire pour la touche 1 et 4 valeurs? Je ne peux pas étendre cela en déclarant un Map.Entry intérieur pour le deuxième argument de la première Map.Entry parce qu'à ce moment-là, la première chaîne n'est plus unique, je veux dire, tous les arguments de Map.Entry> répéter, ne peut être utilisé comme une clé.

Et vous les gars, ne pas besoin d'aller pour le chemin que je pris. Vous êtes libre de fournir toute structure solution / données qui me permet de stocker et de récupérer 3 valeurs sous forme de chaînes et un flotteur, tous associés à une clé sous forme de chaîne.

meilleures salutations,

vlumi:

Java n'a pas tuples intégré, bien que ces types sont assez faciles à mettre en œuvre, et ont été Spark par exemple, jusqu'à des valeurs dix je crois.

Vous pouvez créer votre propre classe contenant les valeurs. Si vous n'avez pas beaucoup de combinaisons dans votre programme, une classe ordinaire avec des champs fixes serait préférable, car elle permettrait de donner à vos champs nom, aussi, fournissant de la documentation de leur but.

Si votre combinaison de champs et les types doivent être plus dynamiques, il suffit de créer une classe générique avec quatre types distincts, semblable à Map.Entry est fait.

Je suppose que tu aimes

Origine http://43.154.161.224:23101/article/api/json?id=333687&siteId=1
conseillé
Classement