Redis BitMap 转化成java 的BitSet
整取Redis中bitmap所有值,再转换成java中的bitSet
BitSet bitset = fromByteArrayReverse(jedis.get(key.getBytes()));for (int i = bitset.nextSetBit(0); i >= 0; i = bitset.nextSetBit(i + 1)) { System.out.println("ID: " + i); if (i == Integer.MAX_VALUE) { break; }}private static BitSet fromByteArrayReverse(final byte[] bytes) { final BitSet bits = new BitSet(); if (bytes != null) { for (int i = 0; i < bytes.length * 8; i++) { if ((bytes[i / 8] & (1 << (7 - (i % 8)))) != 0) { bits.set(i); } } } return bits; }
标签:java,int,bytes,Redis,BitSet,bitset
来源: https://blog.csdn.net/qq_20101897/article/details/121439518