[英]Does Java Trove4J library (or another) have boolean primitive collections?
谷歌在這里讓我失望了......我認為這將是一個非常簡單的問答,但我找不到以前對此事的任何討論。
Java Trove4J 庫不包含布爾原始集合是否有原因? 示例: TByteHashSet
存在,但TBooleanHashSet
不存在。
作為一種變通方法,我可以為 true(1) 和 false(0) 聲明兩個字節常量,但使用布爾原始集合會更方便。
Eclipse Collections具有BooleanSet
、 BooleanList
、 BooleanStack
、 BooleanBag
和以布爾值作為值的原始映射。 有可變和不可變版本。 您可以在此處找到BooleanIterable
的所有子接口。 不同原始容器的工廠類在這里。
下面是使用 BooleanLists 工廠創建MutableBooleanList
和ImmutableBooleanList
的示例。
MutableBooleanList mutable = BooleanLists.mutable.with(true, false, true, false);
ImmutableBooleanList immutable = BooleanLists.immutable.with(true, false, true, false);
Assert.assertEquals(mutable, immutable);
注意:我是 Eclipse Collections 的提交者。
我是作者,所以...
這樣的TBooleanHashSet的用例是什么? 您只能存儲四種狀態:
您可以使用 EnumMap 和代表您的狀態的一些枚舉輕松完成此操作。 否則,最有效的方法可能是位掩碼。
反正沒看到需要。 (注意: TBooleanList可能有意義,但您可以改用java.util.BitSet 。)
如果您有需要,請告訴我。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.