黑马程序员技术交流社区

标题: 数组去重问题 [打印本页]

作者: li617111077    时间: 2013-12-28 22:45
标题: 数组去重问题
原始数组是{4,2,4,6,1,2,4,7,8}
得到结果{4,2,6,1,7,8}

作者: kun1990    时间: 2013-12-28 23:15
自己写的代码,可以实现你的功能,但是我觉得不好
  1.         public static int[] only(int[] arr) {
  2.                 int[] newArr = new int[arr.length];
  3.                 out: for (int i = 0; i < arr.length; i++) {
  4.                         inn: for (int j = 0; j < newArr.length; j++) {
  5.                                 if (arr[i] == newArr[j]) {
  6.                                         continue out;
  7.                                 }
  8.                                 if (newArr[j] != 0) {
  9.                                         continue inn;
  10.                                 } else {
  11.                                         newArr[j] = arr[i];
  12.                                         continue out;
  13.                                 }
  14.                         }
  15.                 }
  16.                 return newArr;
  17.         }
复制代码

作者: 木木赤赤    时间: 2013-12-30 11:36

importjava.util.ArrayList;
importjava.util.List;
public class RemoveNumber {
    public static void main(String[] args) {
        int[] arr = { 4, 2, 4, 6, 1,  2, 4, 7, 8 };
        List<Integer> list = new ArrayList<Integer>();
        System.out.println("原有数组是");
        for (Integer integer : arr) {
            list.add(integer);
            System.out.print(integer + " ");
        }
        System.out.println();
        
        for (int i = 0; i < list.size() - 1; i++) {
            for (int j = i+1; j < list.size(); j++) {
                if (list.get(i) == list.get(j)) {
                    list.remove(j);
                    j--;
                }
            }
        }
        Integer[] in = list.toArray(new Integer[list.size()]);
        System.out.println("目标数组是");
        for (Integer i : in) {
            System.out.print(i + " ");
        }
        System.out.println();
    }
}

作者: Cheers_for_CRAZ    时间: 2013-12-30 14:04

import java.util.Arrays;
import java.util.HashSet;
import java.util.List;

public class Test1 {
        public static void main(String[] args){
                Integer[] arr = new Integer[]{4,2,4,6,1,2,4,7,8};//里面的每一个元素都是一个对象
                List<Integer> set =   Arrays.asList(arr);//将数组转换成集合
                HashSet<Integer> hash = new HashSet<Integer>();
                hash.addAll(set);
                System.out.println(hash);//打印输出
        }
}
作者: 李兴    时间: 2013-12-30 14:10
  1. import java.util.ArrayList;

  2. class SignalArray
  3. {
  4.         public static void main(String[] args)
  5.         {
  6.                 int arr[] = {4,2,4,6,1,2,4,7,8};
  7.                 arr = signalArray(arr);
  8.                 for(int i : arr)
  9.                 System.out.print(i+",");
  10.         }
  11.         public static int[] signalArray(int[] arr)
  12.         {
  13.                 ArrayList<Integer> al = new ArrayList<Integer>();
  14.                 for(int i : arr)
  15.                 {
  16.                         if(!al.contains(i))
  17.                         al.add(i);
  18.                 }
  19.                 int[] newArr = new int[al.size()];
  20.                 int i = 0;
  21.                 for(Integer in : al)
  22.                 {
  23.                         newArr[i++] = in;
  24.                 }
  25.                 return newArr;
  26.         }
  27. }
复制代码





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