Почему нет SortedMultiset в коллекциях Google? - PullRequest
4 голосов
/ 26 августа 2009

Google Collections содержит интерфейс Multiset и класс TreeMultiset, но я с удивлением обнаружил, что соответствующего интерфейса SortedMultiset нет.

Нечто подобное было бы очень полезно для моделирования дискретных распределений вероятностей.

Прежде чем я попытаюсь реализовать это самостоятельно, я хотел бы знать, есть ли конкретная причина для его исключения, например, вероятное нарушение Multiset или Collection инвариантов или проблемы с производительностью и т. д.


Редактировать : Первоначально я не осознавал этого, но на самом деле это 3 отдельных запроса:

  1. Изменение типа возврата одного метода (TreeMultiset.entrySet)
  2. Новый интерфейс, соответствующий существующей функциональности TreeMultiset
  3. Новая пара методов для суммирования счетчиков в ветвях дерева

Ответы [ 2 ]

7 голосов
/ 04 ноября 2009

Я думаю, просто никто еще не нуждался в этом, поэтому мы еще не написали это. Это то, что я рассмотрю.

0 голосов
/ 28 ноября 2009

TreeMultiset.elementSet () возвращает SortedSet, который может предоставлять некоторые необходимые вам функции.

ETA: finnw, запрашиваемые вами методы SortedMultiset не дают значительно более быстрого ответа на вопрос "сколько элементов в моем Multiset меньше 42?" Реализация TreeMultiset все равно должна была бы перебирать записи мультимножества и суммировать количество соответствующих элементов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...