cześć, jak moglibyśmy znaleźć dokumenty, które zawierają listę wszystkich możliwych właściwości i funkcji obiektu tablicy? Nie mam na myśli obiektu Arrays, który jest jedynymi dokumentami, które mogę znaleźć.
Ponadto prawdopodobnie warto zauważyć, że jeśli masz wielowymiarową tablicę, możesz uzyskać odpowiedni wymiar, po prostu dodając „[0]” do tablicy, o którą pytasz, aż dojdziesz do odpowiedniej osi / krotki / wymiaru.
Jest to prawdopodobnie lepiej wyjaśnione za pomocą następującego kodu:
publicclassTest{publicstaticvoid main(String[] args){String[][] moo =newString[5][12];System.out.println(moo.length);//Prints the size of the First Dimension in the arraySystem.out.println(moo[0].length);//Prints the size of the Second Dimension in the array}}
jest to własność publiczna i ostateczna. To jest ostateczne, ponieważ tablice w Javie są niezmienne według rozmiaru (ale modyfikowalne według wartości elementu)
dziękuję, że nie wdałeś się w szczegóły techniczne dotyczące tego, co to może być, a czego nie, i po prostu udzieliłeś krótkiej i zwięzłej odpowiedzi. +1 dla Ciebie. :)
Należy to zaktualizować w pytaniu, jeśli jest to wyjaśnienie.
Whitecat
5
Odpowiedź brzmi: „Wszyscy”. Tablica java ma przydzieloną stałą liczbę gniazd elementów. Atrybut „długość” powie Ci, ile. Ta liczba jest niezmienna przez cały okres istnienia tablicy. Aby uzyskać odpowiednik o zmiennym rozmiarze, potrzebujesz jednej z klas java.util.List - w której możesz użyć metody size (), aby dowiedzieć się, ile elementów jest używanych.
Jednakże, nie ma „w użyciu”, a potem jest w użytku . W tablicy obiektów klasy możesz mieć miejsca na elementy, których elementy są obiektami o wartości null, więc nawet jeśli liczą się one w atrybucie length, ale definicje większości ludzi, nie są używane (YMMV, w zależności od aplikacji). Nie ma wbudowanej funkcji zwracającej wartości null / niezerowe.
Obiekty listy mają jeszcze inną definicję „W użyciu”. Aby uniknąć nadmiernego tworzenia / niszczenia podstawowych struktur pamięci masowej, w tych klasach zazwyczaj występuje pewne dopełnienie. Jest używany wewnętrznie, ale nie jest liczony w zwracanej metodzie size (). A jeśli spróbujesz uzyskać dostęp do tych elementów bez rozszerzania listy (za pomocą metod add), otrzymasz niedozwolony wyjątek indeksu.
Tak więc w przypadku list możesz mieć „W użyciu” dla niezerowych, zatwierdzonych elementów, Wszystkie zatwierdzone elementy (w tym puste) lub Wszystkie elementy, w tym aktualnie przydzielone miejsce na rozszerzenie.
Wszystkie powyższe odpowiedzi są prawidłowe. Ważną rzeczą do zaobserwowania jest to, że tablice mają atrybut długości, ale nie metodę długości. Za każdym razem, gdy używasz ciągów i tablic w Javie, możesz napotkać trzy podstawowe modele:
Ciąg s = nowy ciąg („vidyasagar”);
System.out.println (s.length ()); // W tym przypadku używamy tylko String. Brak atrybutu długości dla ciągów znaków. musimy użyć metody length ().
int [] s = new int [10]; System.out.println (s.length); // tutaj używamy atrybutu długości tablic.
Ciąg [] s = nowy Ciąg [10];
System.out.println (s.length); // Tutaj, mimo że typ danych to String, nie jest to pojedynczy łańcuch. s jest odniesieniem do tablicy ciągów. Więc używamy atrybutu length tablic, aby wyrazić, ile ciągów może zmieścić się w tej tablicy.
Nie do końca jest to odpowiedź na twoje pytanie, ale jeśli chcesz mieć coś w rodzaju tablicy, która może rosnąć i maleć, nie powinieneś używać tablicy w javie. Prawdopodobnie najlepiej jest używać ArrayList lub innej implementacji List.
Następnie możesz wywołać na nim size (), aby uzyskać jego rozmiar.
Odpowiedzi:
Tak
.length
(właściwość, a nie metoda):źródło
W rzeczywistości jest to ostatni element tablicy, a nie metoda.
źródło
Ponadto prawdopodobnie warto zauważyć, że jeśli masz wielowymiarową tablicę, możesz uzyskać odpowiedni wymiar, po prostu dodając „[0]” do tablicy, o którą pytasz, aż dojdziesz do odpowiedniej osi / krotki / wymiaru.
Jest to prawdopodobnie lepiej wyjaśnione za pomocą następującego kodu:
Który daje wynik:
źródło
Właściwość końcowa array.length
jest to własność publiczna i ostateczna. To jest ostateczne, ponieważ tablice w Javie są niezmienne według rozmiaru (ale modyfikowalne według wartości elementu)
źródło
Tablice są obiektami i mają pole długości.
String [] haha = {"olle", "bulle"};
haha. długość wynosiłaby 2
źródło
W javie jest
length
pole, którego możesz użyć na dowolnej tablicy, aby sprawdzić jej rozmiar:źródło
Jeśli chcesz, aby funkcja to robiła
Może to być przydatne, jeśli nie wiesz, jakiego typu masz tablicę, np. Int [], byte [] lub Object [].
źródło
Istnieje różnica między długością
String
iarray
wyjaśnieniem:źródło
Odpowiedź brzmi: „Wszyscy”. Tablica java ma przydzieloną stałą liczbę gniazd elementów. Atrybut „długość” powie Ci, ile. Ta liczba jest niezmienna przez cały okres istnienia tablicy. Aby uzyskać odpowiednik o zmiennym rozmiarze, potrzebujesz jednej z klas java.util.List - w której możesz użyć metody size (), aby dowiedzieć się, ile elementów jest używanych.
Jednakże, nie ma „w użyciu”, a potem jest w użytku . W tablicy obiektów klasy możesz mieć miejsca na elementy, których elementy są obiektami o wartości null, więc nawet jeśli liczą się one w atrybucie length, ale definicje większości ludzi, nie są używane (YMMV, w zależności od aplikacji). Nie ma wbudowanej funkcji zwracającej wartości null / niezerowe.
Obiekty listy mają jeszcze inną definicję „W użyciu”. Aby uniknąć nadmiernego tworzenia / niszczenia podstawowych struktur pamięci masowej, w tych klasach zazwyczaj występuje pewne dopełnienie. Jest używany wewnętrznie, ale nie jest liczony w zwracanej metodzie size (). A jeśli spróbujesz uzyskać dostęp do tych elementów bez rozszerzania listy (za pomocą metod add), otrzymasz niedozwolony wyjątek indeksu.
Tak więc w przypadku list możesz mieć „W użyciu” dla niezerowych, zatwierdzonych elementów, Wszystkie zatwierdzone elementy (w tym puste) lub Wszystkie elementy, w tym aktualnie przydzielone miejsce na rozszerzenie.
źródło
Wszystkie powyższe odpowiedzi są prawidłowe. Ważną rzeczą do zaobserwowania jest to, że tablice mają atrybut długości, ale nie metodę długości. Za każdym razem, gdy używasz ciągów i tablic w Javie, możesz napotkać trzy podstawowe modele:
System.out.println (s.length ()); // W tym przypadku używamy tylko String. Brak atrybutu długości dla ciągów znaków. musimy użyć metody length ().
System.out.println (s.length); // Tutaj, mimo że typ danych to String, nie jest to pojedynczy łańcuch. s jest odniesieniem do tablicy ciągów. Więc używamy atrybutu length tablic, aby wyrazić, ile ciągów może zmieścić się w tej tablicy.
źródło
Nie do końca jest to odpowiedź na twoje pytanie, ale jeśli chcesz mieć coś w rodzaju tablicy, która może rosnąć i maleć, nie powinieneś używać tablicy w javie. Prawdopodobnie najlepiej jest używać ArrayList lub innej implementacji List.
Następnie możesz wywołać na nim size (), aby uzyskać jego rozmiar.
źródło