И что не так с реализацией сравнительных методов. Вывод
Lists:
0. true     l: com.javarush.task.task21.task2105.Solution@821      r: com.javarush.task.task21.task2105.Solution@821
1. true     l: com.javarush.task.task21.task2105.Solution@7df      r: com.javarush.task.task21.task2105.Solution@7df
2. true     l: com.javarush.task.task21.task2105.Solution@42       r: com.javarush.task.task21.task2105.Solution@42
3. true     l: com.javarush.task.task21.task2105.Solution@0        r: com.javarush.task.task21.task2105.Solution@0
4. false    l: com.javarush.task.task21.task2105.Solution@65400e0  r: com.javarush.task.task21.task2105.Solution@cef84380

Set:
true
true
true
true
false