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的那个位置上的元素还是重复的,被略过了
转载于:https://blog.51cto.com/11907435/1891186