J'ai un Treemap avec 3 entrées, du type suivant: Je peuplique la carte avec le code suivant: p> Mon problème est comment récupérer les valeurs individuelles forment le triemap trié. p> édité: p> ceci imprime les valeurs correctes Pour la clé, comme: p> mais je reçois les mauvaises valeurs de valeur ValueKey et ValueValue, comme: p> Au lieu de: p> Qu'est-ce que je me trompe? p> p>
3 Réponses :
Pour obtenir les valeurs . em>, utilisez (à nouveau, sans surprise) à itérer sur toutes les paires de clé / valeur, c'est-à-dire les entrées em >: p> Il s'agit d'un moyen inhabituel d'approcher tout problème que vous essayez de résoudre, car chaque clé n'a qu'une seule valeur, de sorte que vous avez "la clé - > Touche -> Valeur ", qui est identique à" KeyKey -> valeur ". Pensez à dispenser avec la carte de la couche externe et en utilisant juste map.keystet () code> (sans surprise) renvoie les clés em>, pas les valeurs em>.
carte.values () code>. p>
mappe
Merci pour votre aide, mais j'aurais peut-être été un peu pressé d'accepter la réponse. Jouer avec le code, j'ai noté quelque chose d'impair: les valeurs d'impression ne sont pas comme prévu. Il ne semble y avoir aucune méthode comme GetValue (). Getkey () et veuillez jeter un coup d'œil à mon poste édité.
Premier, prenez la réponse de @ Bohemian, c'est ce que vous voulez. et des futurs Googles. Cela ne fonctionne pas car vous avez un bogue: D (c'est pourquoi nous venons tous de pile sur le débordement, en fonction de votre définition du bogue) p>
SimpleTry SimpleTyRy = Nouveau Simple SimpleRy ("", ""); Strike> P>
... p>
ActionMap.put (Stringkey, Est-ce que cela aide? P> SimpleDeRY Strike> entrée em>); p>
Pas vraiment :-), j'ai besoin de trois valeurs imprimables individuelles, stringone, stringtwo, strigtthree ...
sûr, une seconde
En fait, @bohemian a mis le code dans j'allais. ;) avoir un sens ou avoir besoin de plus d'une explication sur la réponse de Bohemian?
J'ai édité ma question. Il y a quelques problèmes avec les valeurs imprimées de la simplicité. Voulez-vous avoir un look?
Je ne comprends pas votre question ...
Mais comment puis-je obtenir les deuxième et troisième valeurs de la carte, celles définies par la simplicité? P> BlockQuote>
Étant donné que ce n'est pas clair exactement ce que vous recherchez (ce que vous n'êtes probablement pas en mesure de trouver une réponse) Voici quelques moyens (mais pas tous) de itérer sur une carte:
xxx pré> Si vous utilisez Java 8 ou version ultérieure ... P>
// Using your original map Map<String, Entry<String, String>> treeMap = new TreeMap<>(); treeMap.forEach((key, value) -> { // key is a String, value is an Entry<String, String>> }); // Explicit parameter types can increase code readability treeMap.forEach((String key, Entry<String, String>> value) -> { // Have fun with the contents of your map! });
J'ai édité ma question pour le rendre plus précis ce que je veux réaliser. J'ai 3 valeurs sur ma carte. Il y a quelques problèmes avec les valeurs imprimées de la simplicité. Voulez-vous avoir un look?