est la décision de Google similaire à celle de Je suis conscient qu'un alternatif pour La version d'Apache de triéeMultiset code> (Stackoverflow Question)
ou est-ce parce qu'il n'y a pas d'utilisation de
multikeyym code>? p>
multikymap code> peut être d'utiliser une classe personnalisée comme clé contenant les touches multiples comme membres de la classe. Au contraire, j'aime le concept de spécification de plusieurs clés lors de l'appel du
multikympa code>. P>
MulkyMap code> est géniale mais je manque gravement des génériques et j'ai donc examiné les collections Google pour une implémentation moderne. Si quelqu'un a une idée de la raison pour laquelle Google ne l'a pas encore soutenu ou qu'il y a une meilleure alternative pour cela, veuillez répondre. P>
3 Réponses :
Je pense que les génériques pourraient être le showstopper pour la mise en œuvre ici. Si vous regardez simplement l'interface de la carte, des spécificateurs génériques sont des spécificateurs génériques pour le type de clé (k) et le type de valeur (V). Je ne crois pas qu'il serait possible de le spécifier facilement à l'aide de génériques sans séparer les implémentations en plusieurs classes (une pour chaque nombre de composants clés).
Vous auriez besoin d'une classe pour chacun: p>
MultiKeyMap2<K1,K2,V> MultiKeyMap3<K1,K2,K3,V> MultiKeyMap4<K1,K2,K3,K4,V> MultiKeyMap5<K1,K2,K3,K4,K5,V>
Nous avons une très belle mise en œuvre d'une carte à deux niveaux, que nous appelons une "table" (K1 est la "clé de ligne" et K2 est la "clé de colonne"), et nous ne l'avons tout simplement pas lancé encore. Deux dernières clés, cependant, est une diminution des retours. P>
Génial d'avoir un gars officiel de la collection Google répondant :) Puis-je avoir un pic faufilé dans cette structure de données "table"? Et pourquoi ne pas avoir une carte à 3 niveaux et à 4 niveaux?
@ Kevin-Bourrillion a déjà été publié cette carte à 2 niveaux?
Oui, comme la réponse la plus évoluée indique ici. Ma réponse devrait être inacceptée.
Je sais que je suis en retard à la fête, mais pouvez-vous expliquer pourquoi "deux clés passées, cependant, est une diminution des rendements".
FYI, la réponse acceptée a été répondue en mars 2010, mais à partir de septembre 2010, GUAVA incluait table code>. p>
Pouvez-vous modifier la réponse acceptée avec les informations mises à jour que vous avez fournies ici?
@Monisiqbal, vous n'êtes pas censé faire ça. Voici un poste parmi beaucoup de méta sur ce sujet . Si vous n'aimez pas la réponse acceptée, indiquez-le. Si vous aimez le mien, upvote, c'est ce que les boutons sont pour. Mais vous ne devriez pas tout à fait contenter - modifier la réponse d'une autre, la fonctionnalité de montage est destinée aux améliorations qui ne changent pas de contenu.