怎么去掉(int 或 double不能是字符数组)数组中的重复元素?
比如说int[] a={23,10,5,10,3,5,9,6,7,3}
怎么处理才能去掉s中的重复元素,实现这样的效果int[] a={23,5,9,6,7}

解决方案 »

  1.   

    package csdn;public class Array { public int[] getIntArray(int[] a) {
    int count = 1;
    int[] b = null;
    b[0] = a[0]; for (int i = 1; i < a.length; i++) {
    for (int j = 0; j < count; j++) {
    if (a[i] != b[j]) {
    b[j] = a[i];
    count++;
    }
    }
    } return b;
    } public static void main(String[] args) {
    int[] a = { 23, 10, 5, 10, 3, 5, 9, 6, 7, 3 };
    int[] b = new Array().getIntArray(a);
    for (int i = 0; i < b.length; i++) {
    System.out.println(b[i] + " ");
    }
    }}本人写了个程序出现NullPointerException,为什么不能这样给b[0]=a[0]赋值??
      

  2.   

    public static void main(String[] args) {
    int[] is = new int[] { 1, 2, 3, 4, 3, 2, 1, 5 };
    ArrayList<Integer> array = new ArrayList();
    Integer value;
    for (int iv : is) {
    value = new Integer(iv);
    if (array.contains(value))
    array.remove(value);
    else
    array.add(value);
    }
    int[] newis = new int[array.size()];
    for (int i = 0; i < newis.length; i++) {
    newis[i] = array.get(i);
    System.err.println(newis[i]);
    }
    }
      

  3.   

    play100(坐天观井)写得不错,本人的ArrayList还没用好。
      

  4.   

    public static void main(String[] args) {
    // TODO Auto-generated method stub
    int[] a=new int[]{1,2,3,3,2,1,4,5,6,7,4,5};//初始化数组
    ArrayList arr=new ArrayList();
    for(int i=0;i<a.length;i++){
    if(arr.indexOf(String.valueOf(a[i]))==-1){
    arr.add(String.valueOf(a[i]));
    }
    }
    for(int i=0;i<arr.size();i++){
    System.out.println(arr.get(i));
    }
    }
      

  5.   

    public class Container {
        
        public static void main(String args[]) {
            Container cont = new Container();
            List list = new ArrayList();
            int[] a = {23,10,5,10,3,5,9,6,7,3};
            for (int i = 0; i < a.length; i++) {
                list.add(new Integer(a[i]));
            }
            List rslt = cont.removeDuplicateObj(list);
            for (int i = 0; i < rslt.size(); i++) {
               System.out.println((Integer)rslt.get(i));
            }
        } /**
         * Duplicate record remove
         * 
         * @param list
         * @return List
         */
        private List removeDuplicateObj(List list) {
            // ................
            Set someSet = new HashSet(list);        // 将Set中的集合,放到一个??的?表中(tempList)
            Iterator iterator = someSet.iterator();
            List tempList = new ArrayList();
            int i = 0;
            while (iterator.hasNext()) {            tempList.add((Integer)iterator.next());
                i++;
            }
            return tempList;
        }
    }
    不过最后变成 hashset了。其它的话,你就用算法实现吧
      

  6.   

    放到set里面,利用set的特性 JF
      

  7.   

    public static void test(int[] a){
            TreeSet treeSet = new TreeSet();
            for(int i=0; i< a.length; i++){
                try{
                    treeSet.add(new Integer(a[i]));
                }catch(Exception e){
                    continue;
                }
            }
            Iterator it = treeSet.iterator();
            while (it.hasNext()){
                System.out.println(it.next());
            }
        }
      

  8.   

    放到Set中,会自动去除重复的。
      

  9.   

    java.util.hashSet也可以做到,这个要具体问题具体看.
      

  10.   

    hashset treeset(按顺序)都行的
      

  11.   

    用Set hash 和 tree都行,千万别用List,数据一多,会很慢!