数组去重


数组去重也是比经典的一个算法 这里演示了三种不同的数组去重操作

1.利用Hashset本身无序的特性进行去重

public class Test04 {
    public void remove() {
        Set<Integer> set = new HashSet<>();
        int[] arr = {1, 2, 3, 4, 5, 6, 2, 3, 4};
        for (int i :arr){
            set.add(i);
        }
        System.out.println(set);
    }
}

2.利用ArrayList进行去重

    public void remove() {
        List<Integer> list = new ArrayList<>();
        int[] arr = {1, 2, 3, 4, 5, 6, 2, 3, 4};
        for (int i :arr){
            if (!list.contains(i)){
                list.add(i);
            }
        }
        System.out.println(list);
    }
}

3.双重for循环

    public void remove() {
        int[] temp = {1,2,4,4,5,5,6,7,8};
        ArrayList<Integer> Arr = new ArrayList<>();
        for(int x=0;x<temp.length;x++) {
            boolean flag= true;
            for (int y=x+1;y<temp.length;y++){
                if (temp[x]==temp[y]){
                    flag=false;
                    break;
                }
            }
            if(flag){
               Arr.add(temp[x]);
            }
        }
        System.out.println(Arr);
    }
}


文章作者: liming
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 liming !
评论
  目录