arraylist中去除重复元素的问题:
1 用两个集合来存:
ArrayList array=new ArrayList(); array.add("a"); array.add("b"); array.add("a"); array.add("a"); System.out.println(array); ArrayList array1=new ArrayList(); Iterator it=array.iterator(); while (it.hasNext()) { String s=(String)it.next(); if (!array1.contains(s)) { array1.add(s); } } System.out.println(array1);
2 不开新的集合
for (int i=0;i<array.size();i++) { for (int j=i+1;j<array.size();j++) { if (array.get(i).equals(array.get(j))) { array.remove(j); j--; } } } System.out.println(array);
有一个需要注意的小问题:如果有两个连续的重复的元素的话,选择排序会少删除一个,因为当删除完第一个时 y++,但是现在y的那个位置上的元素还是重复的,被略过了
原文:http://11907435.blog.51cto.com/11897435/1891186