Java BitSet members(BitSet set)

Here you can find the source of members(BitSet set)

Description

iterable over all members

License

Open Source License

Parameter

Parameter Description
set a parameter

Return

members

Declaration

public static Iterable<Integer> members(BitSet set) 

Method Source Code


//package com.java2s;
/*/*from w  w  w.j  ava  2  s  . c o m*/
 * BitSetUtils.java Copyright (C) 2019. Daniel H. Huson
 *
 *  (Some files contain contributions from other authors, who are then mentioned separately.)
 *
 *  This program is free software: you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation, either version 3 of the License, or
 *  (at your option) any later version.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

import java.util.BitSet;

import java.util.Iterator;

public class Main {
    /**
     * iterable over all members
     *
     * @param set
     * @return members
     */
    public static Iterable<Integer> members(BitSet set) {
        return () -> new Iterator<Integer>() {
            private int i = set.nextSetBit(0);

            @Override
            public boolean hasNext() {
                return i != -1;
            }

            @Override
            public Integer next() {
                int result = i;
                i = set.nextSetBit(i + 1);
                return result;
            }
        };
    }
}

Related

  1. longFrom(final BitSet bitSet)
  2. longToBitSet(long bits)
  3. longToBitSet(long value)
  4. mapToBitSet(Map map, String key)
  5. max(BitSet bits)
  6. nextClearBitModulo(int index, int poolSize, BitSet bitSet)
  7. not(BitSet bitSets)
  8. or(BitSet bs1, BitSet bs2)
  9. pack(BitSet bitSet)