- package demos;
- import java.util.Arrays;
- import java.util.HashSet;
- /**
- * 关于去重复元素
- * @author lizewen
- *
- */
- public class Repeat {
- public static void main(String[] args) {
- int[] arr = {4,2,4,6,1,2,4,7,8};
-
- //方式一:用set集合可以自动去重复
- HashSet<Integer> nums = new HashSet<Integer>();
- for(int a :arr){
- nums.add(a);
- }
- //发现打印的结果和要求不同,只能换一种方式了-----但是有些同学还没学到集合---那么请可以看方式二
- System.out.println(nums);
-
- //方式二:用新数组存储去重复的元素
- int count = 0;//用来记录重复元素的个数
- for(int i = 0;i<arr.length-1;i++){
- for(int j=i+1;j<arr.length-i-1;j++){
- if(arr[i]==arr[j])
- count++;
- }
- }
- int index = 0;
- int[] newArr = new int[arr.length-count];//建一个新数组存储去重复的元素
- //把原来的数组元素添加到新的数组中(去重复),思路:把原来数组的每一个元素都尝试添加,如果新数组中没有该元素,则添加,如果有,则不添加
- for(int i = 0;i<arr.length;i++){
- boolean flag = true;//用来判断新数组中是否已有该元素
- for(int j=0;j<newArr.length;j++){
- if(arr[i]==newArr[j]){
- flag = false;
- }
- }
- if(flag){
- newArr[index++] = arr[i];
- }
- }
- System.out.println(Arrays.toString(newArr));
-
- }
-
- }
复制代码
|
|