如何将BitSet打印为一系列位

时间:2016-07-20 21:00:21

标签: java

是否有方法或方法将位集打印为一系列位,例如@CourseID

例如,以下代码:

1001011

由于

2 个答案:

答案 0 :(得分:1)

只需添加自己的代码即可。使用StringBuilder,您几乎可以对集合进行任何操作。 这是一个简单的实现:

            BitSet bi = new BitSet(6);

            bi.set(1);
            bi.set(3);
            bi.set(4);
            StringBuilder s = new StringBuilder();
            for( int i = 0; i < bi.length();  i++ )
            {
                s.append( bi.get( i ) == true ? 1: 0 );
            }

            System.out.println( s );

答案 1 :(得分:0)

类似于@ funaquarius24的答案,但是使用Java 8流:

/**
  * @param bitSet bitset
  * @return "01010000" binary string
  */
public static String toBinaryString(BitSet bitSet) {
  if (bitSet == null) {
    return null;
  }
  return IntStream.range(0, bitSet.length())
      .mapToObj(b -> String.valueOf(bitSet.get(b) ? 1 : 0))
      .collect(Collectors.joining());
}