Zadeklarowałem tablicę, jak pokazano poniżej:
int[] arr = new int[10];
Następnie przypisałem tablicy następujące wartości:
arr[0] = 1;
arr[1] = 2;
arr[2] = 3;
arr[3] = 4;
Następnie zadeklarowałem i zainicjowałem zmienną całkowitą:
int arrayLength = arr.length;
Będzie to przydatne do znalezienia rzeczywistego rozmiaru, ale czy istnieje metoda znalezienia logicznego rozmiaru tablicy?
Przede wszystkim
length
jest własnością, więc byłobyarr.length
zamiastarr.length()
.Zwróci 10, zadeklarowany rozmiar. Elementy, których nie zadeklarujesz jawnie, są inicjowane z wartością 0.
źródło
Aby znaleźć długość tablicy
A
, należy użyćlength
właściwości. To jest takA.length
, że nie używajA.length()
go głównie do rozmiaru obiektów związanych z ciągami.Właściwość length zawsze będzie pokazywać całkowitą ilość miejsca przydzieloną tablicy podczas inicjalizacji.
Jeśli kiedykolwiek wystąpi którykolwiek z tego rodzaju problemów, prostym sposobem jest jego uruchomienie. Miłego programowania!
źródło
Tablice są statyczną alokacją pamięci, więc jeśli zainicjujesz tablicę liczb całkowitych:
Długość zawsze będzie wynosić 15, niezależnie od liczby wypełnionych indeksów.
I jeszcze jedno, kiedy zainicjujesz tablicę liczb całkowitych, wszystkie indeksy zostaną wypełnione „0”.
źródło
W Javie "rzeczywisty" i "logiczny" rozmiar jest taki sam. Czas wykonywania wypełnia wszystkie gniazda tablicy wartościami domyślnymi podczas alokacji. Więc masz
a
10.źródło
W tym przypadku parametr arr.length zwróci 10, czyli rozmiar przydzielonej tablicy. Rozmiar logiczny tak naprawdę nie ma tutaj zastosowania, ponieważ jest to tablica o stałej długości.
Podczas inicjalizacji tablicy:
Java utworzy tablicę z 10 elementami i zainicjuje je wszystkie do 0. Szczegółowe informacje na temat wartości początkowych dla tego i innych typów pierwotnych można znaleźć w specyfikacji języka Java .
źródło
arr
jestint
tablicą typów o rozmiarze10
. Jest to tablica10
elementów. Jeśli nie zainicjujemy tablicy domyślnie, elementy tablicy zawierają wartość domyślną. W przypadku tablicy int domyślną wartością jest0
.length to właściwość, która ma zastosowanie do tablicy.
tutaj
arr.length
da10
.źródło
`
więc tutaj utworzyliśmy tablicę z przestrzenią pamięci 3 ... tak to wygląda w rzeczywistości
0th 1st 2nd ...........> Indeks 2 4 5 ...........> Liczba
Więc, jak widzisz, rozmiar tej tablicy wynosi 3, ale indeks tablicy wynosi tylko do 2, ponieważ każda tablica zaczyna się od zerowego indeksu.
druga instrukcja 'wyjście powinno wynosić 3, ponieważ długość tablicy wynosi 3 ... Proszę nie pomylić wartości indeksu z długością tablicy ....
Twoje zdrowie!
źródło
źródło
Będzie zawierał rzeczywisty rozmiar tablicy, ponieważ jest to wartość, którą zainicjowałeś tablicę, kiedy ją deklarujesz. Java nie ma pojęcia o „logicznym” rozmiarze tablicy, jeśli chodzi o to, domyślna wartość 0 jest tak samo logiczna, jak wartości ustawione ręcznie.
źródło
Zawiera przydzielony rozmiar, 10. Pozostałe indeksy będą zawierać wartość domyślną, która wynosi 0.
źródło
Jeśli chcesz logicznego rozmiaru tablicy, możesz przejść przez wszystkie wartości w tablicy i sprawdzić je względem zera. Zwiększ wartość, jeśli nie jest równa zero i byłby to rozmiar logiczny. Ponieważ rozmiar tablicy jest stały, nie masz żadnej wbudowanej metody, być może powinieneś rzucić okiem na kolekcje.
źródło
Powinno być:
Należy unikać nawiasów.
źródło
Tablice Java mają w rzeczywistości stały rozmiar, a inne odpowiedzi wyjaśniają, dlaczego .length nie robi tego, czego można się spodziewać. Chciałbym tylko dodać, że biorąc pod uwagę twoje pytanie, to, czego możesz chcieć użyć, to ArrayList, czyli tablica, która może rosnąć i zmniejszać się:
https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html
Tutaj metoda .size () pokaże liczbę elementów na liście i możesz ją powiększać w miarę dodawania elementów.
źródło
jeśli masz na myśli „rozmiar logiczny”, indeks tablicy, to po prostu int arrayLength = arr.length-1; ponieważ indeks tablicy zaczyna się od „0”, więc logiczny lub „indeks tablicy” będzie zawsze mniejszy od rzeczywistego rozmiaru o „jeden”.
źródło
Tablice są przydzielane w pamięci w czasie kompilacji w języku Java, więc są statyczne, a elementy, które nie zostały jawnie ustawione lub zmodyfikowane, mają ustawione wartości domyślne. Mógłbyś użyć takiego kodu, chociaż nie jest to zalecane, ponieważ nie liczy wartości domyślnych, nawet jeśli jawnie zainicjujesz je w ten sposób, prawdopodobnie spowoduje to również błędy. Jak powiedzieli inni, szukając rzeczywistego rozmiaru, należy użyć „.length” zamiast „.length ()”.
źródło