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]赋值??
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]); } }
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了。其它的话,你就用算法实现吧
放到set里面,利用set的特性 JF
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()); } }
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]赋值??
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]);
}
}
// 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));
}
}
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了。其它的话,你就用算法实现吧
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());
}
}