List去重方法总结

1.set非重特性

List<String> list = new ArrayList<String>();
list.add("111");
list.add("111");
list.add("222");
// 创建HashSet集合
Set set = new HashSet();
set.addAll(list);     // set自动去重复
list.clear();
list.addAll(set);    // 将list清空并将set中的所有元素添加到list中

2.java8 stream api

List<String> list = new ArrayList<String>();
list.add("111");
list.add("111");
list.add("222");
// Collectors.toList方法是获取list类型的收集器  distinct方法进行去重  collect进行转换
List<Object> list2 = list.stream().distinct().collect(Collectors.toList());
// list2就是去重后得到的结果,可以看出java8的stream api使用很方便。

3.其他

//方法三:set集合判断去重,不打乱顺序 
Set set1 = new HashSet(); 
List newList1 = new ArrayList(); 
for (Integer integer : list) { 
if(set1.add(integer)) { 
newList1.add(integer); 
} 
} 
//方法四:遍历后判断赋给另一个list集合 
List newList2 = new ArrayList(); 
for (Integer integer : list) { 
if(!newList2.contains(integer)){ 
newList2.add(integer); 
} 
} 
//方法五:set和list转换去重 
Set set2 = new HashSet(); 
List newList3 = new ArrayList(); 
set2.addAll(list); 
newList3.addAll(set2);

 

 
 
posted @ 2020-07-10 10:41  JayceLove  阅读(615)  评论(0)    收藏  举报