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

方式一:

 List listTemp = new ArrayList();  
			        for(int i=0;i

方式二:

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

方式三:

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

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

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


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


方法四:

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

你可能感兴趣的:(Java基础,List)