Perché nessuna SortedMultiset in Google collezioni?
Domanda
Google Collezioni contiene l'interfaccia Multiset
e la classe TreeMultiset
, ma ero sorpreso di scoprire che non v'è alcuna interfaccia SortedMultiset
corrispondente.
Una cosa del genere sarebbe molto utile per la modellazione di distribuzioni di probabilità discrete.
Prima tento di realizzare io stesso, mi piacerebbe sapere se c'è un motivo specifico per lasciare fuori, per esempio probabile violazione della Multiset
o Collection
invarianti, o problemi di prestazioni inerenti etc.
Modifica : non mi rendevo conto che in origine, ma questo è in realtà 3 richieste separate:
- Una modifica del tipo di ritorno di un metodo (
TreeMultiset.entrySet
) - Una nuova interfaccia per abbinare le funzionalità esistenti di
TreeMultiset
- Un nuovo paio di metodi per riassumere i conteggi nei rami dell'albero
Soluzione
Credo che è solo che nessuno ha mai avuto bisogno ancora, quindi non abbiamo ancora scritto. E 'qualcosa che mi piacerebbe prendere in considerazione.
Altri suggerimenti
TreeMultiset.elementSet () restituisce un SortedSet, che potrebbe fornire alcune delle funzionalità che si desidera.
ETA: finnw, i metodi SortedMultiset che stai richiedente non avrebbe fornito una risposta molto più veloce alla domanda "? Quanti elementi della mia Multiset sono meno di 42" L'implementazione TreeMultiset dovrebbe ancora per scorrere attraverso le voci MultiSet e sommare i conteggi degli elementi rilevanti.