Здравствуйте, у меня есть 2 списка, которые содержат одинаковые объекты.Я хотел бы выполнить любую операцию, такую как перехват, объединение, отличное, используя предикат, потому что я не могу использовать равно для сравнения.
Пример:
class Car{
public String id;
public String color;
public int hashcode(){
//id field is used for hashcode
}
public boolean equals(){
//id field is used for equals
}
}
Теперь у меня есть два списка машин,Мне нужно найти дубликаты в этих списках, но не по идентификатору, а только по цвету.
List<Car> carList1 = new ArrayList(){ new Car(1,blue), new Car(2,green)};
List<Car> carList2 = new ArrayList(){ new Car(1,silver), new Car(4,green)};
Мне нужно найти второй объект из carList1 (новый автомобиль (2, зеленый))
List Somethingпохоже на
Collection.intersect(carList1,carList2,comparator).
В C # я бы использовал для этого LINQ.