Stały rozmiar tablicy i powiększanie kopią
Tablice - Podstawy Javy (Java)
Właściwości tablic w Javie: Tablice mają stały rozmiar, który jest ustalany podczas tworzenia Nie można dynamicznie zmienić rozmiaru istniejącej tablicy Aby "zwiększyć" rozmiar tablicy, należy: - Utworzyć nową tablicę o pożądanym rozmiarze - Skopiować elementy ze starej tablicy do nowej - Przypisać referencję do nowej tablicy Metody kopiowania tablic: Ręczne kopiowanie za pomocą pętli Użycie metody System.arraycopy() Alternatywnie można użyć Arrays.copyOf() (nie pokazane w przykładzie) Ważne uwagi: Próba dostępu do indeksu poza rozmiarem tablicy skutkuje ArrayIndexOutOfBoundsException Tablica po utworzeniu ma zawsze zainicjalizowane elementy wartościami domyślnymi (0 dla typów liczbowych, null dla obiektów) Referencja do starej tablicy może zostać usunięta przez Garbage Collector, gdy nie jest już używana
public class Main {
public static void main(String[] args) {
// Inicjalizacja tablicy o określonym rozmiarze
int[] numbers = new int[5];
System.out.println("Początkowy rozmiar tablicy: " + numbers.length);
// Wypełnienie tablicy danymi
for (int i = 0; i < numbers.length; i++) {
numbers[i] = i + 1;
}
// Próba "powiększenia" tablicy
System.out.println("\nTworzenie nowej, większej tablicy:");
int[] largerArray = new int[10];
// Kopiowanie elementów ze starej tablicy do nowej
for (int i = 0; i < numbers.length; i++) {
largerArray[i] = numbers[i];
}
// Wypełnienie pozostałych elementów
for (int i = numbers.length; i < largerArray.length; i++) {
largerArray[i] = i + 1;
}
// Wyświetlenie obu tablic
System.out.println("Oryginalna tablica:");
for (int number : numbers) {
System.out.print(number + " ");
}
System.out.println("\nNowa, większa tablica:");
for (int number : largerArray) {
System.out.print(number + " ");
}
// Alternatywna metoda kopiowania za pomocą System.arraycopy
int[] anotherArray = new int[10];
System.arraycopy(numbers, 0, anotherArray, 0, numbers.length);
}
} Ładowanie interaktywnego edytora... Jeśli się nie pojawi, włącz JavaScript.
Wszystkie lekcje kursu Podstawy Javy · Zaloguj się, aby zapisać postęp na koncie.