使用UniqueFilterIterator过滤Collection中的重复元素

可以使用 UniqueFilterIterator过滤Collection中的重复元素,之前我还写了个专门做这件事的工具类,想想真悲剧!

List list=new ArrayList(Arrays.asList(new String[]{"a","b","c","b","a"}));  

Iterator iterator=new UniqueFilterIterator(list.iterator());  
while(iterator.hasNext()){  
System.out.print(iterator.next()+"; ");  
}  

//OUTPUT->a; b; c; 
 顺带附上以前写的去重的工具类,用的是Set作为中间容器:
/**
 * List去重
 * @param <T>
 * @param sourceList
 * @return
 */
public static <T> List<T> uniqueList(List<T> sourceList) {
	if(sourceList == null) return null;
	Set<T> sourceSet = new HashSet<T>();
	sourceSet.addAll(sourceList);
	List<T> targetList = new ArrayList<T>();
	targetList.addAll(sourceSet);
	return targetList;
}
 

你可能感兴趣的:(C++,c,C#)