/**
* Bitmap.java
*/
package Algorithm;
import java.util.BitSet;
import org.junit.Test;
/**
* @Author: chenxiaoyu
* @Date: 2013-8-2下午12:23:14
* @Description:使用bitmap需要一堆数都在一个特定的范围内
*/
public class Bitmap {
static int[] array = RandomNum.getRandom(0, 1000000 , 10);
static int MaxIndex = array.length - 1;
static int[] mixarray = new int[]{1,2,4,6,3,8,9,0,4,5,6};
static int MaxMixIndex = mixarray.length - 1;
static int size = 1000000;
//使用bitmap对一个大小在一定范围内的无重复数据排序(比如电话号码)
@Test
public void order(){
BitSet bs = new BitSet(size);
for(int i=0; i<size;i++){
bs.set(0,false);
}
for(int i=0; i<=MaxIndex; i++){
bs.set(array[i], true);
}
System.out.println("order:");
for(int i=0; i<size;i++){
if(bs.get(i)){
System.out.println(i);
}
}
}
//使用bitmap在一个大小在一定范围内的数据集中查找重复数据
@Test
public void duplicate(){
BitSet bs = new BitSet(size);
for(int i=0; i<size;i++){
bs.set(0,false);
}
System.out.println("duplicate:");
for(int i=0; i<=MaxMixIndex; i++){
if(!bs.get(mixarray[i])){
bs.set(mixarray[i], true);
}else{
System.out.println(mixarray[i]);
}
}
}
}
使用bitmap对一个大小在一定范围内的无重复数据排序(比如电话号码)|在一个大小在一定范围内的数据集中查找重复数据
最新推荐文章于 2025-04-12 19:27:10 发布
本文介绍了一种利用Bitmap(位图)对特定范围内的数据进行排序及查找重复数据的方法。通过BitSet类实现,适用于如电话号码等大规模数据集的处理,能够有效减少内存占用并提高效率。
|在一个大小在一定范围内的数据集中查找重复数据&spm=1001.2101.3001.5002&articleId=9748625&d=1&t=3&u=960401cde8ea43908cab329651caf322)
778

被折叠的 条评论
为什么被折叠?



