順序を維持し、重複を許可したい。自分用に構築する必要がありますか?または、コンパレーターを微調整できる方法はありますか (remove() と insert() が同じものを使用していると思います)。ありがとう。
remove() を O(log n) に、 add() も O(log n) にしたい。
PriorityQueue は一方向ですが、その remove() メソッドは O(n) かかります。可能であれば、どうすればこれを微調整できますか?
順序を維持し、重複を許可したい。自分用に構築する必要がありますか?または、コンパレーターを微調整できる方法はありますか (remove() と insert() が同じものを使用していると思います)。ありがとう。
remove() を O(log n) に、 add() も O(log n) にしたい。
PriorityQueue は一方向ですが、その remove() メソッドは O(n) かかります。可能であれば、どうすればこれを微調整できますか?
Apache Commons-CollectionsTreeBag
を確認できますか? これは を使用してデータ ストレージを提供し、、、および削除操作の保証された log(n) 時間コストを提供します。TreeMap
containsKey
get
put
は、コレクション内のBag
各オブジェクトを出現回数とともに格納します。
グアバの TreeMultiset
、おそらく?Apache Commons とは異なりTreeMultiset
、その他Multiset
の sはジェネリックとうまく調和し、Collection
契約に適切に従うため、多少使いやすくなっています。
(開示:私はGuavaに貢献しています。)