Преобразовать один список объектов в другой список
Это вопрос теории, поэтому я собираюсь использовать псевдокод.
У меня есть список объектов, которые мне нужно преобразовать в другой список.
Я реализовал алгоритм Левенштейна, и он отлично работает, но мне нужно сохранить объекты, а не создавать новые. Я могу перебор, но я бы предпочел найти не O(n*m) способ сделать это.
[obj1, obj2, obj3] -> [obj1, obj4, obj5, obj2, obj6, obj3]
obj1, obj2, obj3 должны быть тем же объектом, где остальные являются вновь созданными объектами.
Кто-нибудь знает хороший алгоритм для этого?
1 ответ
Решение
Вы можете использовать шаблон flyweight, для этого вам нужно будет поддерживать созданные объекты в кеше. Строки в Java является хорошим примером этого шаблона.