Java 在CollectionUtils.isEqualCollection中使用赤道比较两个集合
我必须使用Apache CollectionUtils.isEqualCollection比较两个集合。 它们具有相同的接口压缩,并有一个比较方法:Java 在CollectionUtils.isEqualCollection中使用赤道比较两个集合,java,generics,collections,interface,Java,Generics,Collections,Interface,我必须使用Apache CollectionUtils.isEqualCollection比较两个集合。 它们具有相同的接口压缩,并有一个比较方法: public boolean isTheSame(Compress compr); 但我不知道如何在代码中添加赤道 来自文档: isEqualCollection(Collection<? extends E> a, Collection<? extends E> b, Equator<? super E>
public boolean isTheSame(Compress compr);
但我不知道如何在代码中添加赤道
来自文档:
isEqualCollection(Collection<? extends E> a, Collection<? extends E> b, Equator<?
super E> equator)
Returns true iff the given Collections contain exactly the same elements with exactly the same cardinalities.
我应该把赤道的方法放在我的收集课上吗?
或者我应该这样写(不是工作代码):
。。。
Eq赤道=新Eq();
返回集合UTILS.isEqualCollection(过滤器3、过滤器4、赤道);
}
公共静态类Eq实现{
公共布尔等价(对象o1,对象o2){
压缩c1=(压缩)o1;
压缩c2=(压缩)o1;
返回c1。是否为名称(c2);
}
公共整数散列(对象o){
//TODO自动生成的方法存根
返回0;
}
}
我将非常感谢任何帮助 以下是一个示例:
public boolean isTheSame(Collection<? extends Compress> a, Collection<? extends Compress> b) {
Equator<Compress> compressEquator = new CompressEquator();
return CollectionUtils.isEqualCollection(a, b, compressEquator);
}
public static class CompressEquator implements Equator<Compress> {
public boolean equate(Compress c1, Compress c2) {
return c1.isTheSame(c2);
}
//
}
}
public boolean isTheSame(collection)你说的是什么意思?我应该把赤道的方法放在我的集合类中吗
?我的意思是,我应该让我的类实现赤道吗?你有什么选择吗?如果可能,请提供示例或链接,非常感谢
...
Eq equator = new Eq<Compress>();
return CollectionUtils.isEqualCollection(filtLst3, filtLst4, equator);
}
public static class Eq<Compress> implements Equator {
public boolean equate(Object o1, Object o2) {
Compress c1 = (Compress) o1;
Compress c2 = (Compress) o1;
return c1.isTheSame(c2);
}
public int hash(Object o) {
// TODO Auto-generated method stub
return 0;
}
}
public boolean isTheSame(Collection<? extends Compress> a, Collection<? extends Compress> b) {
Equator<Compress> compressEquator = new CompressEquator();
return CollectionUtils.isEqualCollection(a, b, compressEquator);
}
public static class CompressEquator implements Equator<Compress> {
public boolean equate(Compress c1, Compress c2) {
return c1.isTheSame(c2);
}
//
}
}