我有Collection<A> ca
和Collection<B> cb
,A
并且B
没有共享通用接口,但每个接口都有一个String
名为something
. 我只需要过滤ca
并保留那些在cb
.
A
不幸的是,B
为这个问题/答案创建一个通用界面并不是一种选择。
我目前在做
Iterator<A> it = ca.iterator();
while ( it.hasNext() ) {
A a = it.next();
if ( !cb.contains(new B(a.getSomething(), ... <known stuff>) )
it.remove;
}
利用我知道做什么的事实B.equals
。在性能和/或资源方面,我能做些什么来改善这一点?