Pourquoi pas SortedMultiset dans Google Collections?
Question
Google Collections contient l'interface Multiset
et la classe TreeMultiset
, mais j'étais surpris de constater qu'il n'y a pas d'interface SortedMultiset
correspondante.
Quelque chose comme cela serait très utile pour la modélisation des distributions de probabilité discrètes.
Avant que je tente de mettre en œuvre moi-même, je voudrais savoir s'il y a une raison spécifique pour le laisser sortir, par exemple violation probable de Multiset
ou invariants Collection
, ou des problèmes de performance inhérents etc.
Modifier : Je ne le savais pas à l'origine, mais cela est en fait 3 demandes distinctes:
- Une modification du type de retour d'une méthode (
TreeMultiset.entrySet
) - Une nouvelle interface pour correspondre à la fonctionnalité existante de
TreeMultiset
- Une nouvelle paire de méthodes pour résumer les comptes dans les branches de l'arbre
La solution
Je pense qu'il est juste que personne n'a jamais besoin encore, donc nous n'avons pas encore écrit. Il est quelque chose que je considère.
Autres conseils
TreeMultiset.elementSet () retourne un SortedSet, ce qui pourrait fournir certaines des fonctionnalités que vous voulez.
ETA: finnw, les méthodes SortedMultiset que vous demandez ne fournirait pas une réponse beaucoup plus rapide à la question « combien d'éléments dans mon Multiset sont moins de 42 » La mise en œuvre TreeMultiset aurait encore à itérer sur les entrées et multiset la somme des comptes des éléments pertinents.