java消除数组中重复出现的值
2023-01-10
阅读(700)
问:java删除数组中重复的数。
- 答:最直接的方式, 用嵌套循环, 从数组第一个元素开始与该元素之后的所有元素比较, 如果发现相同的,则删除后者
这是方法:
for (i=0; i < 数组长度; i++)
{
int temp = 元素[i];
for (int j = i +1; j < 数组长度; j++)
{
if (temp == 元素[j])
删除元素[j];
}
} - 答:这个简单点的方法就是,把这个数组的数字全部put进一个Map里面。重复的自然会被替换掉。最后把Map里面的key值再输出来就完全没有重复了。
问:java中数组怎么删除数组中重复的数
- 答:通过HashSet剔除
// 删除ArrayList中重复元素,add进去顺序就变了不考虑顺序的话可以使用
public static void removeDuplicate1(List list) {
HashSet h = new HashSet(list);
list.clear();
list.addAll(h);
System.out.println(list);
} - 答:import java.util.Arrays;
public class Test{
public static void main(String[] args) {
int[] arr={1,2,2,3,4,4,5};
int [] temp=new int[0];
for(int i:arr){
if(!containArr(i, temp)){
temp=addArr(i, temp);
}
}
for(int i:temp)
System.out.println(i);
}
public static int[] addArr(int n,int [] temp){
int [] tempArr=Arrays.copyOf(temp, temp.length+1);
tempArr[temp.length]=n;
return tempArr;
}
public static boolean containArr(int n,int[] arr){
boolean flag=false;
for(int i:arr){
if(i==n){
flag=true;
break;
}
}
return flag;
}
}
问:java中怎么样子找出数组中重复的数,并去除
- 答:
public static void main(String[] args) {
//可以换种思路,把数组放到set里面(set的值不会重复)就可以去重了
Integer[] arr = {85,4,2,6,11,4,5,8,9};
Set<Integer> set = new HashSet<Integer>();
for(Integer i : arr)
set.add(i);
for(Object j: set.toArray())
System.out.print(j + " ");
} - 答:使用Set集合处理即可,因为Set集合有特性,自动去除重复的元素;
只要循环数组,添加到set中就可以实现了。 - 答:思想大概就是新建一个数组,然后把原数组的值放入新数组,检查有没有已存在的,放不进去的就是重复的,新数组就是你需要的
- 答:恩,把数组转换成set集合再转回去就行,
- 答:遍历数组,将值放入TreeSet集合,这个集合不允许重复,而且这个效率比较高