[英]Why java.util.BitSet does not implement java.util.Set
為什么java.util.BitSet
不實現java.util.Set<Integer>
接口。 尤其是當它可以輕松做到這一點時。 此外,還使用BitSet來維護是否“打開或不打開”一個整數,Set的功能也完全相同。 所以BitSet
是一個Set<Integer>
。 提到一些評論說
現在看一下BitSet的方法。 該類的目的是對按一定順序的位集合執行邏輯運算。
我仍然會說BitSet
是Set<Integer>
,它還提供其他操作集。
由於注釋不夠明顯:
您說“ BitSet實際上是一個有效的集合。BitSet是一個集合”-不,不是。 Set
是不包含重復元素的集合。
現在想象一個Set<Bit>
。 由於一個位只能是1或0,這將是一個相當無聊的設置,最大大小為2。
現在看一下BitSet
的方法 。 該類的目的是對按一定順序的位集合執行邏輯運算。 與Set
無關。
java.util.BitSet
是在JDK因為版本1.0, java.util.Set
輸入的階段與JDK 1.2。 因此, BitSet
無法實現Set
。
如果您需要一個由BitSet
支持的Set<>
實現,那么使用支持BitSet
似乎並不難實現。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.