代码之家  ›  专栏  ›  技术社区  ›  adelarsq

Scala中的位字段

  •  6
  • adelarsq  · 技术社区  · 14 年前

    link ). 我知道可以用位运算符编写,但如果不考虑性能,我认为有更好的方法。

    3 回复  |  直到 14 年前
        1
  •  8
  •   Rex Kerr    14 年前

    如果你只想要一点点,那么 collection.BitSet 会为你工作的。

    如果你想要一个合适的位字段类,那么你的运气不好有两个原因。首先,因为斯卡拉没有。其次,因为即使这样做了,节省的空间可能也不会很可观,因为与您的位相比,封闭对象的开销可能会很大。

    有两种方法可以解决这个问题:一个自定义的类,它包装一个整数,并允许您将其部分作为位字段进行操作;但是,当您要存储整数时,您只需将它保存为一个primitive int,或者可以创建一个位字段结构数组(任意长度),该数组被实现为一个整数数组。但是没有什么比这更内在的了,你必须自己动手。

        2
  •  2
  •   Kevin Wright    14 年前

    可惜不是。。。移位运算符和按位布尔运算符几乎就是您所拥有的全部。

        3
  •  2
  •   Gene T    14 年前

    Java位集类的字对齐压缩变体。它使用64位运行长度编码(RLE)压缩方案。

    http://code.google.com/p/javaewah/