Если у вас есть коллекция объектов (Col A) с возможными дубликатами, и вы хотели бы знать, основываясь на данных, структурированных таким же образом, уже присутствующих в базе данных, какие объекты в этой коллекции были отредактированы, а какиеСовершенно новый, какие алгоритмы вы бы использовали в каком порядке для достижения наилучших результатов?
Я пробовал следующие шаги с очень медленными результатами:
- Преобразовать в хэш-набор и обратно в коллекцию А вудалить дубликаты
- Сортировать коллекцию на основе свойств первичного ключа
- Получить объекты (коллекция B), присутствующие в БД, на основе данных в первом объекте (> =) и последнем объекте (<=) коллекцииA. </li>
- Выполните итерацию по коллекции A, чтобы найти объект в коллекции B
- Если отсутствует, поместите в коллекцию NewObjects
- Если имеется, сравните все свойства 1 на 1, чтобы увидеть, является ли объектгрязный и впоследствии помещенный в коллекцию EditedObjects
Увы, слишком много грязного кода, чтобы шоw что-нибудь полезное.
Я не верю, что мой подход оптимален, и хотел бы знать, есть ли более разумные альтернативы