java.util.BitSet.length()方法的使用及代码示例

x33g5p2x  于2022-01-16 转载在 其他  
字(6.5k)|赞(0)|评价(0)|浏览(204)

本文整理了Java中java.util.BitSet.length()方法的一些代码示例,展示了BitSet.length()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。BitSet.length()方法的具体详情如下:
包路径:java.util.BitSet
类名称:BitSet
方法名:length

BitSet.length介绍

[英]Returns the number of bits up to and including the highest bit set. This is unrelated to the #size of the BitSet.
[中]返回最高位集之前(含最高位集)的位数。这与位集的大小无关。

代码示例

代码示例来源:origin: redisson/redisson

  1. private static byte[] toByteArrayReverse(BitSet bits) {
  2. byte[] bytes = new byte[bits.length() / 8 + 1];
  3. for (int i = 0; i < bits.length(); i++) {
  4. if (bits.get(i)) {
  5. final int value = bytes[i / 8] | (1 << (7 - (i % 8)));
  6. bytes[i / 8] = (byte) value;
  7. }
  8. }
  9. return bytes;
  10. }

代码示例来源:origin: redisson/redisson

  1. private static byte[] toByteArrayReverse(BitSet bits) {
  2. byte[] bytes = new byte[bits.length() / 8 + 1];
  3. for (int i = 0; i < bits.length(); i++) {
  4. if (bits.get(i)) {
  5. final int value = bytes[i / 8] | (1 << (7 - (i % 8)));
  6. bytes[i / 8] = (byte) value;
  7. }
  8. }
  9. return bytes;
  10. }

代码示例来源:origin: org.testng/testng

  1. public int getExitCode() {
  2. int exitCode = 0;
  3. for (int i = 0; i < exitCodeBits.length(); i++) {
  4. if (exitCodeBits.get(i)) {
  5. exitCode = exitCode | (1 << i);
  6. }
  7. }
  8. return exitCode;
  9. }
  10. }

代码示例来源:origin: stanfordnlp/CoreNLP

  1. /** helper for gap encoding. */
  2. private static byte[] bitSetToByteArray(BitSet bitSet) {
  3. while (bitSet.length() % 8 != 0) { bitSet.set(bitSet.length(), true); }
  4. byte[] array = new byte[bitSet.length()/8];
  5. for (int i = 0; i < array.length; i++) {
  6. int offset = i * 8;
  7. int index = 0;
  8. for (int j = 0; j < 8; j++) {
  9. index <<= 1;
  10. if (bitSet.get(offset+j)) { index++; }
  11. }
  12. array[i] = (byte)(index - 128);
  13. }
  14. return array;
  15. }

代码示例来源:origin: apache/hive

  1. private static byte[] toBinary(BitSet bitset) {
  2. byte[] nulls = new byte[1 + (bitset.length() / 8)];
  3. for (int i = 0; i < bitset.length(); i++) {
  4. nulls[i / 8] |= bitset.get(i) ? MASKS[i % 8] : 0;
  5. }
  6. return nulls;
  7. }

代码示例来源:origin: cbeust/testng

  1. public int getExitCode() {
  2. int exitCode = 0;
  3. for (int i = 0; i < exitCodeBits.length(); i++) {
  4. if (exitCodeBits.get(i)) {
  5. exitCode = exitCode | (1 << i);
  6. }
  7. }
  8. return exitCode;
  9. }
  10. }

代码示例来源:origin: graphhopper/graphhopper

  1. private BitSet getValidOn(BitSet validOnDay, int dayShift) {
  2. if (dayShift == 0) {
  3. return validOnDay;
  4. } else {
  5. BitSet bitSet = new BitSet(validOnDay.length() + 1);
  6. for (int i=0; i<validOnDay.length(); i++) {
  7. if (validOnDay.get(i)) {
  8. bitSet.set(i+1);
  9. }
  10. }
  11. return bitSet;
  12. }
  13. }

代码示例来源:origin: apache/kylin

  1. @Override
  2. public BitSet copy(final Kryo kryo, final BitSet original) {
  3. final BitSet result = new BitSet();
  4. final int length = original.length();
  5. for (int i = 0; i < length; i++) {
  6. result.set(i, original.get(i));
  7. }
  8. return result;
  9. }

代码示例来源:origin: com.h2database/h2

  1. /**
  2. * Get the fill rate of the space in percent. The value 0 means the space is
  3. * completely free, and 100 means it is completely full.
  4. *
  5. * @return the fill rate (0 - 100)
  6. */
  7. public int getFillRate() {
  8. int total = set.length(), count = 0;
  9. for (int i = 0; i < total; i++) {
  10. if (set.get(i)) {
  11. count++;
  12. }
  13. }
  14. if (count == 0) {
  15. return 0;
  16. }
  17. return Math.max(1, (int) (100L * count / total));
  18. }

代码示例来源:origin: Sable/soot

  1. public List<N> getDominators(N node) {
  2. // reconstruct list of dominators from bitset
  3. List<N> result = new ArrayList<N>();
  4. BitSet bitSet = nodeToFlowSet.get(node);
  5. for (int i = 0; i < bitSet.length(); i++) {
  6. if (bitSet.get(i)) {
  7. result.add(indexToNode.get(i));
  8. }
  9. }
  10. return result;
  11. }

代码示例来源:origin: alipay/sofa-bolt

  1. /**
  2. * from bit set to byte
  3. * @param bs
  4. * @return byte represent the bit set
  5. */
  6. public static byte toByte(BitSet bs) {
  7. int value = 0;
  8. for (int i = 0; i < bs.length(); ++i) {
  9. if (bs.get(i)) {
  10. value += 1 << i;
  11. }
  12. }
  13. if (bs.length() > 7) {
  14. throw new IllegalArgumentException("The byte value " + value
  15. + " generated according to bit set " + bs
  16. + " is out of range, should be limited between ["
  17. + Byte.MIN_VALUE + "] to [" + Byte.MAX_VALUE + "]");
  18. }
  19. return (byte) value;
  20. }

代码示例来源:origin: ethereum/ethereumj

  1. private int getFirstBitSet(byte[] bytes) {
  2. BitSet b = BitSet.valueOf(bytes);
  3. for (int i = 0; i < b.length(); i++) {
  4. if (b.get(i)) {
  5. return i;
  6. }
  7. }
  8. return 0;
  9. }

代码示例来源:origin: stackoverflow.com

  1. public class Bits {
  2. public static BitSet convert(long value) {
  3. BitSet bits = new BitSet();
  4. int index = 0;
  5. while (value != 0L) {
  6. if (value % 2L != 0) {
  7. bits.set(index);
  8. }
  9. ++index;
  10. value = value >>> 1;
  11. }
  12. return bits;
  13. }
  14. public static long convert(BitSet bits) {
  15. long value = 0L;
  16. for (int i = 0; i < bits.length(); ++i) {
  17. value += bits.get(i) ? (1L << i) : 0L;
  18. }
  19. return value;
  20. }
  21. }

代码示例来源:origin: GlowstoneMC/Glowstone

  1. private int findNewSectorStart(int sectorsNeeded) {
  2. int start = -1;
  3. int runLength = 0;
  4. for (int i = sectorsUsed.nextClearBit(0); i < sectorsUsed.length(); i++) {
  5. if (sectorsUsed.get(i)) {
  6. // must reset
  7. start = -1;
  8. runLength = 0;
  9. } else {
  10. if (start == -1) {
  11. start = i;
  12. }
  13. runLength++;
  14. if (runLength >= sectorsNeeded) {
  15. return start;
  16. }
  17. }
  18. }
  19. // reached the end, append to the end of the region instead
  20. return -1;
  21. }

代码示例来源:origin: opentripplanner/OpenTripPlanner

  1. @Override public void serialize(BitSet bitSet, JsonGenerator jsonGenerator,
  2. SerializerProvider serializerProvider) throws IOException, JsonProcessingException {
  3. jsonGenerator.writeStartArray();
  4. for (int i = 0; i < bitSet.length(); i++) {
  5. jsonGenerator.writeBoolean(bitSet.get(i));
  6. }
  7. jsonGenerator.writeEndArray();
  8. }
  9. }

代码示例来源:origin: org.codehaus.groovy/groovy

  1. /**
  2. * Support the subscript operator for a Bitset
  3. *
  4. * @param self a BitSet
  5. * @param index index to retrieve
  6. * @return value of the bit at the given index
  7. * @see java.util.BitSet
  8. * @since 1.5.0
  9. */
  10. public static boolean getAt(BitSet self, int index) {
  11. int i = normaliseIndex(index, self.length());
  12. return self.get(i);
  13. }

代码示例来源:origin: com.thoughtworks.xstream/xstream

  1. public void marshal(Object source, HierarchicalStreamWriter writer, MarshallingContext context) {
  2. BitSet bitSet = (BitSet) source;
  3. StringBuffer buffer = new StringBuffer();
  4. boolean seenFirst = false;
  5. for (int i = 0; i < bitSet.length(); i++) {
  6. if (bitSet.get(i)) {
  7. if (seenFirst) {
  8. buffer.append(',');
  9. } else {
  10. seenFirst = true;
  11. }
  12. buffer.append(i);
  13. }
  14. }
  15. writer.setValue(buffer.toString());
  16. }

代码示例来源:origin: apache/ignite

  1. /**
  2. * Checks that given {@code nodesSet} forms fully-connected component.
  3. *
  4. * @param nodesSet Set of cluster nodes.
  5. * @return {@code True} if all given cluster nodes are able to connect to each other.
  6. */
  7. public boolean checkFullyConnected(BitSet nodesSet) {
  8. int maxIdx = nodesSet.length();
  9. Iterator<Integer> it = new BitSetIterator(nodesSet);
  10. while (it.hasNext()) {
  11. int idx = it.next();
  12. for (int i = 0; i < maxIdx; i++) {
  13. if (i == idx)
  14. continue;
  15. if (nodesSet.get(i) && !connections[idx].get(i))
  16. return false;
  17. }
  18. }
  19. return true;
  20. }
  21. }

代码示例来源:origin: osmandapp/Osmand

  1. public void printRule(PrintStream out) {
  2. out.print(" Select " + selectValue + " if ");
  3. for(int k = 0; k < filterTypes.length(); k++) {
  4. if(filterTypes.get(k)) {
  5. String key = universalRulesById.get(k);
  6. out.print(key + " ");
  7. if(filterNotTypes.length() > 0) {
  8. out.print(" ifnot ");
  9. for(int k = 0; k < filterNotTypes.length(); k++) {
  10. if(filterNotTypes.get(k)) {
  11. String key = universalRulesById.get(k);
  12. out.print(key + " ");

代码示例来源:origin: apache/kylin

  1. @Override
  2. public void write(final Kryo kryo, final Output output, final BitSet bitSet) {
  3. final int len = bitSet.length();
  4. output.writeInt(len, true);
  5. for (int i = 0; i < len; i++) {
  6. output.writeBoolean(bitSet.get(i));
  7. }
  8. }

相关文章