0

順序を維持し、重複を許可したい。自分用に構築する必要がありますか?または、コンパレーターを微調整できる方法はありますか (remove() と insert() が同じものを使用していると思います)。ありがとう。

remove() を O(log n) に、 add() も O(log n) にしたい。

PriorityQueue は一方向ですが、その remove() メソッドは O(n) かかります。可能であれば、どうすればこれを微調整できますか?

4

2 に答える 2

2

Apache Commons-CollectionsTreeBagを確認できますか? これは を使用してデータ ストレージを提供し、、、および削除操作の保証された log(n) 時間コストを提供します。TreeMapcontainsKeygetput

は、コレクション内のBag各オブジェクトを出現回数とともに格納します。

于 2012-10-18T22:09:51.550 に答える
0

グアバの TreeMultiset、おそらく?Apache Commons とは異なりTreeMultiset、その他Multisetの sはジェネリックとうまく調和し、Collection契約に適切に従うため、多少使いやすくなっています。

(開示:私はGuavaに貢献しています。)

于 2012-10-19T00:28:06.793 に答える