J'ai une carte maintenant à cela, j'ajoute quelques données à l'aide de PuTall comme p> où somedata retourne maintenant, j'ai une autre ligne qui dit p> qui retourne également Carte
Carte
6 Réponses :
première ligne de la carte de la carte de la carte Java: p>
Un objet qui mesure les clés des valeurs. UNE La carte ne peut pas contenir des touches en double; Chaque touche peut mapper au plus une valeur. P> blockQuote>
vrai, je suis d'accord, les valeurs essentielles sont différentes ici
Hmmm, ce n'est pas censé arriver! PuTall () est identique à l'appelant () pour tous les articles de la collection source.
Cela ne répond pas vraiment à votre question cependant, vous avez posé une question sur Ajout et vous avez eu un tas de réponses légitimes.
Vous voulez un multimap A> de Google Guava . Réécrivez votre exemple avec GUAVA MULTIMAP:
ListMultimap<Integer, Object> entireData = ArrayListMultimap.create();
for (Integer key : someMoreData.keySet()) { if (entireData.containsKey(key)) { entireData.get(key).addAll(someMoreData.get(key)); } else { entireData.put(key, someMoreData.get(key)); } }
Les clés sont uniques. Si Cependant, vous pouvez faire boucle dans SOMEMORATA CODE> a une clé identique que la clé existante dans
EntreData code> La valeur IE Liste d'objet sera écrasée.
SOMEMORATA Code> et ajoute pour les clés qui existe dans
Entitéeata code> comme p>
par défaut, java mappe mapper une clé d'une valeur, comme Trojanfoe écrit . Si cela ne suffit pas à vos besoins, vous avez besoin d'une implémentation multi-cartes (une carte qui déconnecte une clé d'une collection de valeurs).
Les versions les plus populaires figurent dans deux frameworks open source, Google Guava et Apache Commons / Collections . P>
GUAVA Exemple: strong> p> final MultiMap mmap = new MultiHashMap();
mmap.put(1, "foo");
mmap.put(1, "bar");
System.out.println(mmap.get(1));
Vous pouvez instancier une goyave multimap cod> beaucoup i> plus simplement en utilisant l'un des
multimaps.new [(((lié? Hachage) | arborescence] multimap.create () code> (OK, peut-être que "regex" n'est pas parfait ;-)
... à tout prix, +1 pour démontrer comment obtenir les génériques à droite avec NewsetMultimap (mapss.newhashmap (), ...) code> ce qui est ce que i i > b> nécessaire.
Semblable à Willcodejavaforfood Sucandespole n'est pas de dépendances nécessaires à une réponse, mais à l'aide d'une entrée à la place pour des extraites de hashmap moins.
public static <K,V> void appendMapBtoMapA(HashMap<K,List<V>> a, HashMap<K,List<V>> b) { for (Map.Entry<K, List<V>> bEntry : b.entrySet()) { a.computeIfAbsent( bEntry.getKey(), k -> new LinkedList<>() ).addAll(bEntry.getValue()); } }