|
|
"Kolekce.java": cannot find symbol; symbol : method ensureCapacity(int), location: interface java.util.List at line 87, column 11
|
18.7.2006 14:17
Martin Landa
|
Na řádku "l.ensureCapacity(5);" dochází k chybě, čím to? Metoda ensureCapacity(5) třídy ArrayList není vidět. Používám JDK 1.5 + JBuilder 2006.
List l = new ArrayList(3); // vytvoření seznamu pro 3 položky
l.set(0, ""); // vložení prvků
l.set(1, "abcd");
l.set(2, "123w");
// přidání dalších prvků - 1. varianta (vhodná pro přidání více prvků)
l.ensureCapacity(5); // zvětšíme kapacitu seznamu (zde na 5)
l.set(3, "tohle JDE"); // přidáme prvek
l.set(4, "pokračujeme"); // přidáme prvek...
// přidání dalších prvků - 2. varianta (vhodná pro jednotlivé prvky)
l.add("tohle také JDE"); // přidáme prvek
l.add("pokračujeme"); // přidáme prvek... |
|
|
ArrayList - pole proměnné velikosti
|
19.7.2006 18:28
Martin Landa
|
Třída List nemá metodu ensureCapacity(int size), muselo by se použít ArrayList l = new ArrayList(3).
Konstruktor ArrayList(int initialCapacity) třídy ArrayList nevytváří list se třemi elementy stejně jako pole String sa[] = new String[3], ale pouze alokuje paměť, takže l.set(0, "") vyvolá vyjímku IndexOutOfBoundsExceptin, protože list žádný element s indexem 0 v tento moment ještě nemá. Aby to fungovalo, musel by se list nejdříve naplnit pomocí l.add("element 0"). Stejně tak l.ensureCapacity(5) nerozšíří stávající list o další dva elementy, ale pouze vyhradi větší paměť. Pokus o l.set(3, "") by opět vyvolal vyjímku IndexOutOfBoundsExceptin. |
|
|
|
|
KOMENTARZE
|
Tylko zarejestrowani użytkownicy mogą dopisywać komentarze.
|
|
Szukanie oprogramowania
|
©Pavel Kysilka - 2003-2024 |
maillinuxsoft.cz | Design:
www.megadesign.cz
|