Generate all elements of a power set
Power of 2
Instead of using:
(int)Math.pow(2, numbers.size())

You can compute a power of two more efficiently like this:
1 &lt;&lt; numbers.size()

You can use 1L to compute it as a long if you think that the power may exceed 31.
Manual bit manipulation
Instead of using a BitSet to find the 1 bits in your int, you can use integer arithmetic to check the bits yourself:
    for (int bit = 0; bit &lt; 32; bit++) {
        if ((i &amp; (1 &lt;&lt; bit)) != 0) {
            subset.add(ary[bit]);
        }
    }