簡體   English   中英

Java中的數據結構是否與TreeSet類似但允許重復?

[英]Is there data structure in Java that is like TreeSet but allows duplicates?

我想保留訂購並允許重復。 我應該為自己建一個嗎? 或者有什么方法可以調整Comparator(我認為remove()和insert()使用相同的)? 謝謝。

我希望remove()在O(log n)中,add()也是O(log n)。

PriorityQueue是一種方法,但其remove()方法采用O(n)。 如果可能的話,我怎么能調整這個?

你能看到Apache Commons-Collections的 TreeBag嗎? 這使用TreeMap提供數據存儲,它為containsKeygetput和remove操作提供了保證log(n)時間成本。

Bag將每個對象與出現次數一起存儲在集合中。

也許是番石榴的 TreeMultiset 不同於Apache的百科全書, TreeMultiset和其他Multiset小號相處泛型和正確遵守Collection合同,這使得它有點友好的使用。

(披露:我向番石榴捐款。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM