/** * Fuegt das Object in das Feld. Wenn zu klein, muss es erweitert und kopiert werden * @param obj Objekt wird am Ende eingefügt */ public void add(Object obj) { ++n; if (n == (feld.length)) { // System.out.println(" Erhoehung: capacity auf: "+capacity); Object feldNew[] = new Object[feld.length + step]; //System.arraycopy(feld, 0, feldNew, 0, n); for (int i = 0; i < n; i++) { feldNew[i] = feld[i]; } this.feld = feldNew; step = step << 2; } feld[ n - 1] = obj; } /** * Fuegt das Object in das Feld. Wenn zu klein, muss es erweitert und kopiert werden * @param obj Objekt wird am Ende eingefügt */ public void addFast(Object obj) { ++n; if (n == (feld.length)) { // System.out.println(" Erhoehung: capacity auf: "+capacity); Object feldNew[] = new Object[feld.length + step]; System.arraycopy(feld, 0, feldNew, 0, n); this.feld = feldNew; step = step << 2; } feld[ n - 1] = obj; } /* * public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length) */ /** * Loescht das it-te Element. Im Fehler: ArrayIndexOutOfBoundsException * @param index Position des zu loeschendes Eintrags */ public void remove(int index) { if (index < n && index >= 0) { if (index < n) { for (int i = index; i < n - 1; i++) { feld[i] = feld[i + 1]; } } --n; feld[n] = null; // fuer den gc } else { throw new ArrayIndexOutOfBoundsException("Fehler index:" + index + " n: " + n); } } // remove /** * Loescht das it-te Element. Im Fehler: ArrayIndexOutOfBoundsException. Benutzt arraycopy * @param index Position des zu loeschendes Eintrags */ public void removeFast(int index) { if (index < n && index >= 0) { if (index < n) { System.arraycopy(feld, index + 1, feld, index, n + index - 1); //System.arraycopy(elementData, index+1, elementData, index, numMoved); } feld[--n] = null; // fuer den gc } else { throw new ArrayIndexOutOfBoundsException("Fehler index:" + index + " n: " + n); } } // removeFast /* * public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length) */