Jelenlegi hely

10.4. Tömbök másolása

Használhatjuk a System osztály arraycopy metódust, hogy adatokat másoljunk hatékonyan egyik tömbből a másikba. Az arraycopy metódus öt paramétert vár:

public static void arraycopy(Object source, int srcIndex, Object dest, int destIndex, int length)

A két Object paraméter rámutat a kiinduló és a cél tömbre. A három int paraméter jelzi a kezdő helyet a forrás és a céltömbön belül, és az elemek számát, amennyit másolni akarunk.

A következő kép illusztrálja, hogyan megy végbe a másolás:

Tömb másolása

A következő ArrayCopyDemo program használja az arraycopy metódust, ami az elemeket a copyFrom tömbből a copyTo tömbbe másolja.

public class ArrayCopyDemo {
    public static void main(String[] args) {
        char[] copyFrom = { 'd', 'e', 'c', 'a', 'f', 'f', 'e', 'i', 'n', 'a', 't', 'e', 'd' };
        char[] copyTo = new char[7];
        System.arraycopy(copyFrom, 2, copyTo, 0, 7);
        System.out.println(new String(copyTo));
    }
}

A program kimenetele:

caffein

A következő képen lehet látni az arraycopy metódus működését:

arraycopy

Az eredménytömböt létre kell hozni, mielőtt meghívódik az arraycopy metódus, és elég nagyméretűnek kell lennie, hogy beleférjenek a másolandó tömb elemei.

Tömbkezeléshez további szolgáltatásokat nyújt a java.util.Arrays osztály is.