[JAVA]JAVA章1 数组数据去重

一 利用HashSet进行去重

//定义一个数组;有几个重复项
int[] testarray = {1,2,33,4,2,3,44,5,222,3};
//利用HashSet对数组数据去重
Set<Integer> set = new HashSet();
for(int i=0;i<testarray.length;i++)
{
set.add(testarray[i]);
}
//定义新数组
int[] newtestarray = new int[set.size()];
int x=0;
//新数组赋值
for(Integer integer:set)
{
newtestarray[x] = integer;
++x;
}
//打印新数组
System.out.println("利用Set去重如果如下:");

for(int t=0;t<newtestarray.length;t++)
{
System.out.print(newtestarray[t]+" ");
}

}

输出如下:

利用Set去重如果如下:
1 33 2 3 4 5 44 222

从结果可以看出,重复项已经去掉

二 利用TreeSet进行去重

如果在去重过程中还想进行排序,刚可以使用TreeSet;我们来看看效果:

//定义一个数组;有几个重复项
int[] testarray = {1,2,33,4,2,3,44,5,222,3};
//利用TreeSet对数组数据去重
Set<Integer> set = new TreeSet(); //只变化此处
for(int i=0;i<testarray.length;i++)
{
set.add(testarray[i]);
}
//定义新数组
int[] newtestarray = new int[set.size()];
int x=0;
//新数组赋值
for(Integer integer:set)
{
newtestarray[x] = integer;
++x;
}
//打印新数组
System.out.println("利用Set去重如果如下:");

for(int t=0;t<newtestarray.length;t++)
{
System.out.print(newtestarray[t]+" ");
}

}

输出如下:

利用Set去重如果如下:
1 2 3 4 5 33 44 222

从结果可以看出,重复项已经去掉而且进行了排序

上一篇:解决js array的key不为数字时获取长度的问题


下一篇:JS原型链