请大家帮我想想,一个数组(长度不限)首先遍历一下看有没有要插入的数,如果有不插,没有的话插入。保持该数组的元素唯一。这怎么写啊。

解决方案 »

  1.   

    /**
         * @param args
         */
        public static void main(String[] args) {
            int[] array = new int[] {1, 3, 5, 6};
            int temp = 4;
            for (int i = 0; i < array.length; i++) {
                System.out.print(array[i] + " ");
            }
            System.out.println();
            int[] aa = insertArray(array, temp);
            for (int i = 0; i < aa.length; i++) {
                System.out.print(aa[i] + " ");
            }
        }
        
        private static int[] insertArray(int[] array, int temp) {
            boolean isExist = false;
            for (int i = 0 ; i < array.length; i++) {
                if (array[i] == temp) {
                    isExist = true;
                    break;
                }
            }
            if (!isExist) {
                int[] resultArray = new int[array.length + 1];
                System.arraycopy(array, 0, resultArray, 0, array.length);
                resultArray[resultArray.length -1] = temp;
                return resultArray;
            }
            return array;
        }
      

  2.   

    为什么要用数组呢?用个Set不是最好的吗?
      

  3.   

    如果不排序,用set最方便,只要写入就可以了。如果要排序的话,你就只能list先查找了,再判断是否写入了。