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

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

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

BitSet.previousClearBit介绍

[英]Returns the index of the first bit that is clear on or before index, or -1 if no lower bits are clear or index == -1.
[中]返回在索引上或之前清除的第一位的索引,如果没有较低的位清除,则返回-1,或者返回索引==-1。

代码示例

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

  1. @Override
  2. public List<Variable> next() {
  3. BitSet resultBitSet = (BitSet) nextBitSet.clone();
  4. int b = nextBitSet.previousClearBit(n - 1);
  5. int b1 = nextBitSet.previousSetBit(b);
  6. if (b1 == -1) {
  7. advanceToNextK();
  8. } else {
  9. nextBitSet.clear(b1);
  10. nextBitSet.set(b1 + 1, b1 + (n - b) + 1);
  11. nextBitSet.clear(b1 + (n - b) + 1, n);
  12. }
  13. resultList.clear();
  14. for (int i = 0; i < n; ++i) {
  15. if (resultBitSet.get(i)) {
  16. resultList.add(permuteThis.get(i));
  17. }
  18. }
  19. return unmodifyableViewOfResult;
  20. }
  21. }

代码示例来源:origin: vsch/flexmark-java

  1. public int previousClearBit(int i) {return myBits.previousClearBit(i);}
  2. public boolean intersects(BitSet set) {return myBits.intersects(set);}

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

  1. private static int getLastUnusedPos(BitSet used, int lastPos) {
  2. return used.previousClearBit(lastPos);
  3. }

代码示例来源:origin: com.vladsch.flexmark/flexmark-util

  1. public int previousClearBit(int i) {return myBits.previousClearBit(i);}
  2. public boolean intersects(BitSet set) {return myBits.intersects(set);}

代码示例来源:origin: chocoteam/choco-solver

  1. @Override
  2. public int previousValueOut(int aValue) {
  3. int val = aValue - offset;
  4. if(val <= -1 || val > values.length()){
  5. return aValue - 1;
  6. }else{
  7. val = values.previousClearBit(val - 1);
  8. return val + offset;
  9. }
  10. }

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

  1. int maxNumberOfConsecutiveBits(BitSet bs) {
  2. int maxLength = 0;
  3. int onesI = bs.length(); // Points to the prior 0.
  4. for (int i = onesI; (i = bs.previousClearBit(i - 1)) >= 0; ) {
  5. int length = onesI - 1 - i;
  6. maxLength = Math.max(maxLength, length);
  7. i = bs.previousSetBit(i - 1) + 1; // Heuristic, optional.
  8. onesI = i;
  9. }
  10. return maxLength;
  11. }

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

  1. static void genCombinations(int n, int k) {
  2. BitSet bs = new BitSet(n);
  3. bs.set(0, k);
  4. while(true) {
  5. // output
  6. for(int i=0; i<n; i++)
  7. System.out.print(bs.get(i) ? "1" : "0");
  8. System.out.println();
  9. int b = bs.previousClearBit(n-1); // the last zero
  10. int b1 = bs.previousSetBit(b); // the last one before that zero
  11. if(b1 == -1)
  12. return;
  13. bs.clear(b1);
  14. bs.set(b1+1, b1+(n-b)+1);
  15. bs.clear(b1+(n-b)+1, n);
  16. }
  17. }
  18. public static void main(String[] args) {
  19. genCombinations(5, 3);
  20. }

代码示例来源:origin: net.sourceforge.pmd/pmd-java

  1. @Override
  2. public List<Variable> next() {
  3. BitSet resultBitSet = (BitSet) nextBitSet.clone();
  4. int b = nextBitSet.previousClearBit(n - 1);
  5. int b1 = nextBitSet.previousSetBit(b);
  6. if (b1 == -1) {
  7. advanceToNextK();
  8. } else {
  9. nextBitSet.clear(b1);
  10. nextBitSet.set(b1 + 1, b1 + (n - b) + 1);
  11. nextBitSet.clear(b1 + (n - b) + 1, n);
  12. }
  13. resultList.clear();
  14. for (int i = 0; i < n; ++i) {
  15. if (resultBitSet.get(i)) {
  16. resultList.add(permuteThis.get(i));
  17. }
  18. }
  19. return unmodifyableViewOfResult;
  20. }
  21. }

代码示例来源:origin: com.github.bingoohuang/idworker-client

  1. private int tryFindAvailableCode(int code) {
  2. int next = codesFilter.nextClearBit(code);
  3. if (next != -1 && next < max(maxRandomSize)) return add(next);
  4. next = codesFilter.previousClearBit(code);
  5. if (next != -1) return add(next);
  6. return -1;
  7. }

代码示例来源:origin: leechenxiang/imooc-springboot-starter

  1. private int tryFindAvailableCode(int code) {
  2. int next = codesFilter.nextClearBit(code);
  3. if (next != -1 && next < max(maxRandomSize)) return add(next);
  4. next = codesFilter.previousClearBit(code);
  5. if (next != -1) return add(next);
  6. return -1;
  7. }

代码示例来源:origin: RAOE/show-videos

  1. private int tryFindAvailableCode(int code) {
  2. int next = codesFilter.nextClearBit(code);
  3. if (next != -1 && next < max(maxRandomSize))
  4. return add(next);
  5. next = codesFilter.previousClearBit(code);
  6. if (next != -1)
  7. return add(next);
  8. return -1;
  9. }

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

  1. for (int i = 0; i < n; i++)
  2. res[i] = bs.get(i) ? '1' : '0';
  3. int b = bs.previousClearBit(n - 1);
  4. int b1 = bs.previousSetBit(b);
  5. if (b1 == -1)

代码示例来源:origin: schierlm/BibleMultiConverter

  1. if (!bits.isEmpty()) {
  2. to = bits.previousSetBit(bits.length());
  3. from = bits.previousClearBit(to) + 1;
  4. bits.clear(from, to + 1);
  5. BitSet old = bits;

代码示例来源:origin: Camelcade/Perl5-IDEA

  1. int commentLine = getNodeLine(childNode);
  2. if (myCommentsLines.get(commentLine)) {
  3. return myCommentsAlignmentMap.get(myCommentsLines.previousClearBit(commentLine));

相关文章