集合去重时需要灵活的指定某一个字段的一个小工具
public class SoleList<T> extends ArrayList<T> {
private Set<String> existKeys;
private Function<T, String> keyFun;
public SoleList(Function<T, String> keyFun) {
super();
this.existKeys = new HashSet<>();
this.keyFun = keyFun;
}
@Override
public boolean add(T t) {
if (null == t) {
return true;
}
String key = keyFun.apply(t);
if (null == key) {
return true;
}
if (!existKeys.contains(key)) {
existKeys.add(key);
return super.add(t);
}
return true;
}
@Override
public boolean addAll(Collection<? extends T> c) {
if (null != c) {
for (T t : c) {
add(t);
}
}
return true;
}
}
使用示例:
原文地址:https://blog.csdn.net/qq_37148232/article/details/142356377
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!