黑马程序员技术交流社区

标题: 来一个去重复元素的 [打印本页]

作者: edithe    时间: 2015-6-7 18:49
标题: 来一个去重复元素的
  1. package demos;

  2. import java.util.Arrays;
  3. import java.util.HashSet;
  4. /**
  5. * 关于去重复元素
  6. * @author lizewen
  7. *
  8. */
  9. public class Repeat {
  10.         public static void main(String[] args) {
  11.                 int[] arr = {4,2,4,6,1,2,4,7,8};
  12.                
  13.                 //方式一:用set集合可以自动去重复
  14.                 HashSet<Integer>  nums = new HashSet<Integer>();
  15.                 for(int a :arr){
  16.                         nums.add(a);
  17.                 }
  18.                 //发现打印的结果和要求不同,只能换一种方式了-----但是有些同学还没学到集合---那么请可以看方式二
  19.                 System.out.println(nums);
  20.                
  21.                 //方式二:用新数组存储去重复的元素
  22.                 int count = 0;//用来记录重复元素的个数
  23.                 for(int i = 0;i<arr.length-1;i++){
  24.                         for(int j=i+1;j<arr.length-i-1;j++){
  25.                                 if(arr[i]==arr[j])
  26.                                         count++;
  27.                         }
  28.                 }
  29.                 int index = 0;
  30.                 int[] newArr = new int[arr.length-count];//建一个新数组存储去重复的元素
  31.                 //把原来的数组元素添加到新的数组中(去重复),思路:把原来数组的每一个元素都尝试添加,如果新数组中没有该元素,则添加,如果有,则不添加
  32.                 for(int i = 0;i<arr.length;i++){
  33.                         boolean flag = true;//用来判断新数组中是否已有该元素
  34.                         for(int j=0;j<newArr.length;j++){
  35.                                 if(arr[i]==newArr[j]){
  36.                                         flag = false;
  37.                                 }
  38.                         }
  39.                         if(flag){
  40.                                 newArr[index++] = arr[i];
  41.                         }
  42.                 }
  43.                 System.out.println(Arrays.toString(newArr));
  44.                
  45.         }
  46.        
  47. }
复制代码



作者: storer    时间: 2015-6-7 19:02
感觉有点复杂
作者: 施洋    时间: 2015-6-7 19:19
第一种简单




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2