一、背景
1.在实战中list去重是非常频繁的,下面就讲讲它的三种用法。
二、第一种(原始代码去重)
1.测试类
public class DemoTest {
public static void main(String[] args) {
ArrayList<String> list = Lists.newArrayList("02","01","01","02","03");
System.out.println("原始的去重方法");
ArrayList<String> listTemp = Lists.newArrayList();
for (String e:list){
if (!listTemp.contains(e)){
listTemp.add(e);
}
}
System.out.println(listTemp);
}
}
2.结果
原始的去重方法
[02, 01, 03]
三、第二种方法
1.Set去重缺点是,元素是无序的
2.测试类
public class DemoTest {
public static void main(String[] args) {
ArrayList<String> list = Lists.newArrayList("02","01","01","02","03");
System.out.println("set去重");
Set<String> set = Sets.newHashSet(list);
System.out.println(set);
}
}
3.结果
set去重
[01, 02, 03]
四、第三种方法
1.测试类
public class DemoTest {
public static void main(String[] args) {
ArrayList<String> list = Lists.newArrayList("02","01","01","02","03");
System.out.println("函数式去重");
List<String> collect = list.stream().distinct().collect(Collectors.toList());
System.out.println(collect);
}
}
2.结果
函数式去重
[02, 01, 03]
五、结束
Always keep the faith!!!