public class DuplicateOrderTest {
public static void main(String[] args) {
List<OrderVO> orderList = new ArrayList<OrderVO>();
OrderVO orderVO = new OrderVO();
orderVO.setOrderNo("11");
orderVO.setUserId("aa");
orderList.add(orderVO);
orderVO = new OrderVO();
orderVO.setOrderNo("22");
orderVO.setUserId("bb");
orderList.add(orderVO);
orderVO = new OrderVO();
orderVO.setOrderNo("33");
orderVO.setUserId("aa");
orderList.add(orderVO);
List<OrderVO> dataList = removeDuplicateOrder(orderList);
for(OrderVO data : dataList){
System.out.println(data.getOrderNo() + ":" + data.getUserId());
}
}
/**
* 去重
*
* @param orderList 集合
* @return 去重后的集合
* @author lsl
*/
private static List<OrderVO> removeDuplicateOrder(List<OrderVO> orderList) {
Set<OrderVO> set = new TreeSet<OrderVO>(new Comparator<OrderVO>() {
@Override
public int compare(OrderVO a, OrderVO b) {
// 字符串则按照asicc码升序排列
return a.getUserId().compareTo(b.getUserId());
}
});
set.addAll(orderList);
return new ArrayList<OrderVO>(set);
}
}
执行结果:
11:aa
22:bb