У меня есть 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
. Могу ли я что-нибудь сделать, чтобы улучшить это с точки зрения производительности и/или ресурсов?
as
. (ВЛОГ :) ) - person Gustav Barkefors   schedule 26.08.2011