java: list容器元素去重(3种方法)
·
要求: 有一个list容器, 存了这些内容:“a”,"a","b","b","c","d", 要求去掉重复的元素, 如何做?
public static void handleArr(List list) {
//方法1=============从头删
/*
int count=0;
for (int j = 0; j < list.size()-1; j++) {
for (int j2 = j+1; j2 < list.size(); j2++) {
//从头: 开始比较--若相等, remove()
if(list.get(j) .equals(list.get(j2))) {
list.remove(j2);
j2--;//删除后, 后一个元素会往前挪, 所以要重新定位下标
}
}
}
*/
//方法2=============从尾删:
/*
for (int j = 0; j < list.size()-1; j++) {
for (int j2 =list.size()-1; j2 >j; j2--) {
if(list.get(j).equals(list.get(j2))) {
list.remove(j2);
}
}
}
*/
////方法3=============使用新的容器: 重新装所有元素
ArrayList<Object> list2 = new ArrayList<>();
for(Iterator it=list.iterator();it.hasNext();) {
String ele=(String)it.next();
if(!list2.contains(ele)) {
list2.add(ele);
}
}
System.out.println(list2);
}
更多推荐
所有评论(0)