Mam sytuację, w której będę otrzymywać 2+ ArrayList<Widget>
i muszę mieć możliwość scalenia wszystkich list i usunięcia dowolnego duplikatu Widget
, tak, żebym zakończył tylko 1 ArrayList<Widget>
, który zawiera wszystkie Widget
s ze wszystkich scalonych list, ale bez żadnych duplikatów.Najlepszy sposób na scalanie i usuwanie duplikatów z wielu list w Javie
Załóżmy Widget
ma nadpisane equals
metodę może być używany do określania, czy dwa Widget
S są duplikaty, chociaż nie może być lepszy sposób:
public ArrayList<Widget> mergeAndRemoveDupes(ArrayList<Widget> widgets...) {
// ???
}
Szukasz najbardziej algorytmicznie efektywnego sposobu realizacji to. Cieszę się, że mogę korzystać z Apache Commons lub innych bibliotek open source, które również mogłyby mi pomóc! Z góry dziękuję!
Wow dzięki @Yuushi (+1) - będę się wyjątek czasu wykonywania, gdy próbuję dodać duplikatem do zestawu? A może Java po prostu zignoruje dodane duplikaty (tego właśnie chcę). Dzięki jeszcze raz! – IAmYourFaja
Java po prostu zignoruje dodany duplikat –
@IAmYourFaja Po prostu zignoruje duplikat. – Yuushi