Here you can find the source of setBitIterator(final BitSet b)
public static Iterator<Integer> setBitIterator(final BitSet b)
//package com.java2s; /*//w w w .j a va 2 s. c o m * FindBugs - Find Bugs in Java programs * Copyright (C) 2006, University of Maryland * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ import java.util.BitSet; import java.util.Iterator; public class Main { public static Iterator<Integer> setBitIterator(final BitSet b) { return new Iterator<Integer>() { int nextBit = b.nextSetBit(0); @Override public boolean hasNext() { return nextBit >= 0; } @Override public Integer next() { int result = nextBit; nextBit = b.nextSetBit(nextBit + 1); return result; } @Override public void remove() { throw new UnsupportedOperationException(); } }; } }