删除数组中重复的数java
问: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):
importjava.util.Arrays;
lassTest2{
publicstaticvoidmain(String[]args){
int[]a={1,1,4,4,3,3,5,3,8,0,5,1};
System.out.println("输入的数组为:"+Arrays.toString(a));
a=Arrays.stream(a).distinct().toArray();
System.out.println("删除相同后的数组为:"+Arrays.toString(a));
}
}
代码运行结果:
扩展资料
删除数组中重复的元素,在java中特别简单,特别是在java8引入streamapi之后对数组的操作可以转换成stream进行操作,stream提供去重的方法,能对数组进行去重,然后再把stream转换回数组,就可以得到删除重复数字的数组了。
参考资料:百度百科-Java
问: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;
}
}
本文来源: https://www.lunwen66.cn/article/873f89687b50457c689a6f00.html