import java.util.ArrayList;
import java.util.Iterator;
public class ArrayListTest {
public static void main(String[] args) {
//ArrayList去除集合中字符串的重复值(字符串的内容相同)
ArrayList<String> list = new ArrayList<String>();
list.add("张三");
list.add("张三");
list.add("李四");
list.add("李四");
list.add("张三");
System.out.println(list);
//方式一:新建一个集合,把元集合中不重复的元素添加进来
method1(list);
//方式二:拿着前面的元素和后面的元素进行比较,发现相等就把后面的元素删除
method2(list);
}
private static void method2(ArrayList<String> list) {
for(int i=0;i<list.size()-1;i++){
for(int j=i+1;j<list.size();j++){
if(list.get(i).equals(list.get(j))){
//发现俩个元素相等就把后面的元素值删除
list.remove(j);
//移除完之后 集合动态长度减一,所以j不能自增
j--;
}
}
}
System.out.println(list);
}
private static void method1(ArrayList<String> list) {
ArrayList<String> list2 = new ArrayList<String>();
Iterator<String> iterator = list.iterator();
while(iterator.hasNext()){
String v = iterator.next();
//判断v是否存在list2中,如果不存在就添加进list2中
if(!list2.contains(v)){
list2.add(v);
}
}
System.out.println(list2);
/*
* for(int 0;i<list.size();i++){
* String v = list.get(i);
//判断v是否存在list2中,如果不存在就添加进去
if(!list2.contains(v)){
list2.add(v);
}
* }
*/
}
}