A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© edithe 中级黑马   /  2015-6-7 18:49  /  491 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  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. }
复制代码


2 个回复

倒序浏览
感觉有点复杂
回复 使用道具 举报
第一种简单
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马