Zestaw jest po prostu zbiorem, który może zawierać żadnych duplikatów tak to brzmi idealny dla Ciebie.
Jest również bardzo prosty w realizacji. Na przykład:
Set<String> mySet = new HashSet<String>();
Zapewni to zestaw, który może przechowywać obiekty typu String.
Aby dodać do zestawu jest równie prosta:
mySet.add("My first entry!");
Z definicji zbioru, można dodać cokolwiek chcesz i nigdy nie biegać w dwóch egzemplarzach.
Miłej zabawy!
EDIT: Jeśli zdecydujesz, że jesteś martwy ustawiony na użyciu ArrayList, to jest proste, aby zobaczyć, czy obiekt jest już na liście przed dodaniem go.Na przykład:
public void addToList(String newEntry){
if(!myList.contains(newEntry))
myList.add(newEntry);
}
UWAGA: Wszystkie moje przykłady zakładają używasz obiektów String, ale mogą być łatwo zamienione na innego rodzaju obiektów.
"ale nie mam pojęcia" Co masz na myśli? Użyj 'HashSet', tak jak przeczytałeś. –
[clue] (http://docs.oracle.com/javase/tutorial/collections/interfaces/set.html) – ajb
Zauważ, że nie ma reguły, która mówi, że nie możesz mieć * obu * i 'ArrayList' oraz' HashSet' z tymi samymi elementami. Możesz użyć 'ArrayList', aby zachować elementy w żądanej kolejności, oraz' HashSet', aby sprawdzić, czy element jest już obecny. (Sprawdzenie będzie szybsze niż przeszukiwanie "ArrayList", ale utrzymywanie dwóch zbiorów spowolni to.) Czasami jest to właściwy sposób robienia rzeczy. – ajb