日期:2014-05-20  浏览次数:20705 次

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

------解决方案--------------------
/**
* @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;
}
------解决方案--------------------
用Set能道不行么?
------解决方案--------------------
为什么要用数组呢?用个Set不是最好的吗?
------解决方案--------------------
如果不排序,用set最方便,只要写入就可以了。如果要排序的话,你就只能list先查找了,再判断是否写入了。
------解决方案--------------------
SortedSet 可以排序
------解决方案--------------------
路过定下