Создайте новый набор и добавьте элементы из списков l1 и l2.Финальный набор будет без дубликатов.Но убедитесь, что вы правильно реализовали equals () и hashCode ().
Ниже приведен мой пример (не идеальный) для того же.Разместите его здесь, чтобы проверить мою логику ;-) или посмотреть, есть ли лучшие способы оптимизации этого
Lit unique=...
if(l1.size==l2.size())
{
//o(n)
copyToUnique(l1, l2, unique)
}
else if(l1.size>l2.size())
{
//o(n) + num of extra elements
copyToUnique(l1, l2, unique)
unique.addAll(l1.subList(l2.size(),l1.size());
}
else if(l1.size<l2.size())
{
//o(n) + num of extra elements
copyToUnique(l2, l1, unique)
unique.addAll(l2.subList(l1.size(),l2.size());
}
public void copyToUnique(List l1, List l2, List unique)
{
for(Object element:l1)
{
if(!l2.contains(element))
{
unique.add(element);
}
}
unique.addAll(l2);
}