get : public synchronized Object get(int index) { if (index >= elementCount) throw new ArrayIndexOutOfBoundsException(index);
return elementData[index]; }
Konklusion : elementAt bruger flere ressourcer, men tjecker for at -1 > index >= elementCount i modsætning til get, som kun tester index >= elementCount...
Jeg bruger selv elementAt() , men der er ikke den store forskel :-)
De to metoder giver næsten samme resultat, og grunden til at der er to, er nærmest af historiske årsager.
I de ældste jdk-versioner var der en Vector-klasse med en elementAt-metode. I nyere jdk-versioner (jeg tror det er fra jdk1.2) opfandt man et Collections-framework, med en masse klassser som Collection's lister, maps o.s.v. De forskellige lister fik her en get-metode. Man valgte så at passe den gamle Vector-klasse ind, ved også at give den en get-metode. Men egentlig er vector blot et levn fra gamle dage.
Den nyere udgave er ArrayList som performer lidt hurtigere, mest fordi den ikke er synkroniseret.
Så den "rigtige" metode er at sige
List navne = new ArrayList();
hvis der er behov for synkronisering, gør man i stedet sådan:
List navne = Collections.synchroizedList(new ArrayList());
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.