Java - kopiowanie tablic

Spisie treści
Po opanowaniu koncepcji szyk a jak go wypełnić i jak przez nie przejść, na pewno też będziemy musieli wygenerować kopie tablic, ponieważ wiele razy będziemy musieli przetworzyć zawartość wspomnianej tablicy bez zmiany oryginału, którego użyjemy do innych celów.
Chociaż kopiowanie może wydawać się bardzo prostą czynnością, w rzeczywistości jest nieco bardziej złożone niż przypisywanie wartość tablicy do innej zadeklarowanej zmiennej tego typu.
Kopiowanie tablic
W ramach logiki naszych programów prawdopodobnie w pewnym momencie będziemy potrzebować skopiuj tablicę do innej zmiennejAby móc pracować z elementami w innej instancji programu, jak wspomnieliśmy na początku, przypisanie zmiennej zawierającej tablicę do innej nie jest odpowiednim rozwiązaniem.
Załóżmy, że wykonujemy zadanie w następujący sposób:
varArraar2 = varArray1;

W tym przypadku nie ma błędu składniowego, więc instrukcja działa bez problemów, nawet jeśli próbujemy zapętlić varArray2 uzyskamy wartości, o których wiemy, że mamy w varArray1, zastanawiasz się gdzie w takim razie jest problem , problem polega na tym , że w tej instrukcji co zrobiłeś Jawa było skopiowanie odwołania do zawartości pierwszej tablicy, więc jeśli dokonamy zmiany w jednej z dwóch, oboje zobaczą zmianę.
Jak widać, nie jest to bardzo skuteczna metoda, chyba że chcemy skutecznie skopiować odwołanie.
Prawidłowy sposób kopiowania tablicyIstnieje kilka sposobów na wykonanie kopia tablicy, używając pętli, która przechodzi przez pierwszą tablicę i przypisując wartości do drugiej, używając statyczna metoda kopiowania tablicy co zawiera klasa System i wreszcie używając metoda klonowaniaTa ostatnia jest jednak nieco bardziej zaawansowana niż to, co widzimy tutaj.
Korzystanie z pętli
Jest to najprostsza metoda ze wszystkich, choć trochę pracochłonna, spełnia cel poprawnie i pozwala uzyskać nową tablicę, która byłaby kopią oryginału i całkowicie od niego niezależną, aby tę kopię wykonać wykonaj następujące czynności:
 int [] varArray1 = {2, 3, 1, 5, 10}; int [] varArray2 = new int [varArray1.length]; for (int i = 0; i <varArray1.length; i ++) {zmiennaArray2 [i] = varArray1 [i]; } 

Jak widzimy jest to coś bardzo prostego, mamy swoje pierwsza tablica z szeregiem wartości już przypisanych w jego treści tworzymy druga tablica i wskazujemy, że jego wymiarem będzie długość oryginalnej tablicy i ostatecznie z a dla pętli przypisujemy naszej nowej tablicy wartość odpowiadającą pozycji cyklu pierwszej tablicy.
Korzystanie z metody arraycopy
Prostszym sposobem, który wykorzystuje nieco mniej kodu, jest metoda statyczna kopia tablicy, ta metoda łamie konwencję nazewnictwa Jawa jednak działa poprawnie, aby z niego skorzystać, musimy wykonać następujące czynności:
System.arraycopy (varArray1, varArray1_pos, varArray2, varArray2_pos, length);

Jak widzimy w jednym wierszu rozwiązujemy problem, metoda otrzymuje w pierwszym argumencie tablicę, którą zamierzamy skopiować, następnie otrzymuje pozycję początkową, z której zamierzamy skopiować, następnie tablicę docelową kopii , jego początkową pozycję i ostatecznie długość kopii:

Na koniec zobaczyliśmy, że kopiowanie tablicy, chociaż nie jest tak proste jak przypisanie zmiennych, jest stosunkowo łatwym zadaniem przy użyciu metod opisanych w tym samouczku.Podobał Ci się i pomógł ten samouczek?Możesz nagrodzić autora, naciskając ten przycisk, aby dać mu pozytywny punkt

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave