list集合(String字符串)去重的三种方式:

本文总结了四种在Java中去除List重复元素的方法,包括使用ArrayList、HashSet、Stream API及自定义过滤器,适用于不同类型的List集合。

方式一:

 List<String> listTemp = new ArrayList<String>();  
			        for(int i=0;i<list.size();i++){  
			            if(!listTemp.contains(list.get(i))){  
			                listTemp.add(list.get(i));  
			            }  
}  

方式二:

 HashSet h = new HashSet(list);   
				 list.clear();   
				 list.addAll(h);   
				 return list; 

方式三:

list=list.stream()
                 .distinct()
                 .collect(Collectors.toList());

注意此处collect方法返回的是一个新的字符串

<List<String>, ?> List<String> java.util.stream.Stream.collect(Collector<? super String, ?, List<String>> collector)


Distinct()只能对于简单的如List<int>等起作用,而对于List<T>不起作用。


方法四:

对于list的对象的集合
List<PexContentBill> bills = CollectionUtils.isNotEmpty(ids)?commonInfoDao.listBillDataByIds(ids):new ArrayList<>();
		bills = bills.stream().filter(StreamAPIUtil.distinctByKey(PexContentBill::getBillId)).collect(Collectors.toList());
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值