20. oktober 2007 - 18:24Der er
15 kommentarer og 1 løsning
Java: ArrayList, er indsat?
Jeg har et arrayList<Integer> kaldet list. Før jeg indsætte noget med metoden add til denne list, vil jeg først tjekke om det Integer jeg forsøger at indsætte iforvejen er indsat i list - jeg vil nemlig ikke have nogle dubletter.
Hvordan klarer man det? Jeg synes ikke at kunne finde en metode i ArrayList som kan klare det. Jeg forsøgte derfor at lave min egen liste som extender ArrayList:
public class MyList<E> extends ArrayList<E> { public MyList() { }
public boolean isIn(E object) { for (int n = 0; this.size()<n; n++) { if (this.get(n).equals(num)) return true; } return false; } }
Der har jeg lavet metoden isIn, som tjekker om det pågældende objekt er i listen. Er det den rigtige måde at gøre det på? ..problemer er bare, at jeg ikke rigtigt synes at min metode isIn virker :(
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
Og hvis rækkefølgen ikke er vigtig, så er der Map. En ArrayList vil bruge en lineær søgning for at se om elementet allerede er der - en Map kan gøre det lidt smartere, så det går hurtigere for mange værdier.
Hvorfor ikke bruge en anden datastruktur hvis du ikke vil tillade dubletter? Hvorfor ikke bruge et HashSet evt?
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.