例子:
/**
* list去重复数据*/
public static void method(){
List<String> list=new ArrayList<String>();
list.add("1");
list.add("1");
list.add("1");
for (String string : list) {
System.out.println(string);
}
ArrayList<String> ridRepeatByLong = RidRepeatByLong((ArrayList<String>) list);
for (String string : ridRepeatByLong) {
System.out.println("去重后:"+string);
}
}
public static ArrayList<String> RidRepeatByLong(ArrayList<String> list) {
return new ArrayList<String>(new LinkedHashSet<String>(list));
}
这里介绍一下LinkedHashSet
1
.允许
null
元素 但最多只能加一个 如果LinkedHashSet已经有
null
元素 试图再加
null
,不会成功,也不会抛异常。
2
.当试图添加一个重复元素到LinkedHashSet时新元素并不会把旧元素替换掉 而只是新元素不会添加LinkedHashSet不会抛异常[其实第
2
点包括了第
1
点 只是因为
1
比较特殊单独拿出来]
我们的第二种去重方式就是利用LinkedHashSet的特性:不能存在相同的对象来达到去重复的目的。