Print

删除数组中重复的数java

问:java删除数组中重复的数。
  1. 答:最直接的方式, 用嵌套循环, 从数组第一个元素开始与该元素之后的所有元素比较, 如果发现相同的,则删除后者
    这是方法:
    for (i=0; i < 数组长度; i++)
    {
    int temp = 元素[i];
    for (int j = i +1; j < 数组长度; j++)
    {
    if (temp == 元素[j])
    删除元素[j];
    }
    }
  2. 答:这个简单点的方法就是,把这个数组的数字全部put进一个Map里面。重复的自然会被替换掉。最后把Map里面的key值再输出来就完全没有重复了。
问:编写程序,读入一个整数数组,删除值相同的多余元素,输出新的数组
  1. 答:代码如下(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中数组怎么删除数组中重复的数
  1. 答:通过HashSet剔除
        // 删除ArrayList中重复元素,add进去顺序就变了不考虑顺序的话可以使用
        public static void removeDuplicate1(List list) {
            HashSet h = new HashSet(list);
            list.clear();
            list.addAll(h);
            System.out.println(list);
        }
  2. 答: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