去重方式:
一、通过set集合的特性,集合元素的唯一性
复制代码1
2
3
4
5
6
7
8
9
public static List heavyListMethod01(List list){
Set set=new HashSet(list);
//Set set1=new TreeSet(list);
List alist=new ArrayList();
for (Object o:set) {
alist.add(o);
}
return alist;
}
登录后复制
免费视频教程推荐:java视频
利用set集合的特性,元素的唯一性 addAll(Collection c)
复制代码1
2
3
4
5
public static List heavyListMethod02(List list){
List newList=new ArrayList();
newList.addAll(new HashSet(list));
return newList;
}
登录后复制
二、通过list的方法contains方法去重
复制代码1
2
3
4
5
6
7
8
9
public static List heavyListMethod03(List list){
List alist=new ArrayList();
for (Object o:list) {
if(!(alist.contains(o))){
alist.add(o);
}
}
return alist;
}
登录后复制
三、通过遍历,然后用remove方法进行去掉重复的元素
复制代码1
2
3
4
5
6
7
8
9
10
11
12
public static List heavyListMethod04(List<Object> list){
for (int i=0;i<list.size()-1;i++){
Object o =list.get(i);
for (int j=i+1;j<list.size();j++){
if(o.equals(list.get(j))){
list.remove(j);
j--;
}
}
}
return list;
}
登录后复制
四、(jdk1.8)调用stream方法将list转换为流,通过distinct(内部根据equals()方法)去掉流中重复的元素
复制代码1
2
3
4
public static List heavyListMethod05(List<Object> list){
list = list.stream().distinct().collect(Collectors.toList());
return list;
}
登录后复制
测试验证:
复制代码1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public static void main(String[] args) {
List list=new ArrayList();
list.add(1);
list.add(2);
list.add(5);
list.add(2);
list.add(3);
list.add(1);
list.add(4);
List list1 =heavyListMethod01(list);
System.out.println("1----"+list1);//[1, 2, 3, 4, 5]
List list2 =heavyListMethod02(list);
System.out.println("2----"+list2);//[1, 2, 3, 4, 5]
List list3 =heavyListMethod03(list);
System.out.println("3----"+list3);//[1, 2, 5, 3, 4]
List list4 =heavyListMethod04(list);
System.out.println("4----"+list4);//[1, 2, 5, 3, 4]
List list5 =heavyListMethod05(list);
System.out.println("5----"+list5);//[1, 2, 5, 3, 4]
}
登录后复制
相关文章教程推荐:java零基础入门
以上就是java中List集合去重的方式有哪些的详细内容,更多请关注靠谱客其它相关文章!
最后
以上就是仁爱猎豹最近收集整理的关于java中List集合去重的方式有哪些的全部内容,更多相关java中List集合去重内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复