一、背景
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!!!
在实战中,list去重操作十分频繁。博客介绍了三种list去重方法,包括原始代码去重、Set去重(存在元素无序缺点),并分别给出了测试类和结果。
3973

被折叠的 条评论
为什么被折叠?



