Jak khelwood użytkownik wskazał, można użyć System.arraycopy
skopiować elementy określonym zakresie z jednej tablicy do drugiej.
Podpis metoda jest:
public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
src
jest tablica źródło, które chcesz skopiować
srcPos
jest pozycja startowa w tablicy źródłowej
dest
jest tablica przeznaczenia chcesz skopiować dane do
destPos
to pozycja wyjściowa w docelowej tablicy
length
jest liczba elementów tablicy kopiowane
Twoim przypadku, byłoby
System.arraycopy(node.succ.succList, 0, node.succList, 1, P.maxNetworkPow - 1);
Czyli Skopiuj P.maxNetworkPow - 1
elementy z node.succ.succList
przy rozruchu indeks 0
do tablicy node.succList
przy rozruchu indeks 1
.
Trzeba uważać jednak, że P.maxNetworkPow
nie jest większa niż długość każdej tablicy, albo dostaniesz IndexOutOfBoundsException
można użyć [ 'System.arraycopy'] (https://docs.oracle.com/javase/7/ docs/api/java/lang/System.html # arraycopy% 28java.lang.Object,% 20int,% 20java.lang.Object,% 20int,% 20int% 29) coś podobnego do 'System.arraycopy (node.succ.succList , 0, node.succList, 1, P.maxNetworkPow-1) ' – khelwood
Nie rozumiem, jak ludzie sądzą, że to pytanie dotyczy wypełniania tablicy, podczas gdy OP wyraźnie chce kopiować z jednej tablicy do drugiej – QBrute