Ik heb een array gedeclareerd zoals hieronder getoond:
int[] arr = new int[10];
Vervolgens heb ik de volgende waarden aan de array toegewezen:
arr[0] = 1;
arr[1] = 2;
arr[2] = 3;
arr[3] = 4;
Toen heb ik een integer-variabele gedeclareerd en geïnitialiseerd:
int arrayLength = arr.length;
Dit is handig om de werkelijke grootte te vinden, maar is er een methode om de logische grootte van de array te vinden?
Antwoord 1, autoriteit 100%
Het bevat de toegewezen grootte, 10
. De niet-toegewezen indexen bevatten de standaardwaarde 0
voor int
.
Antwoord 2, autoriteit 81%
Ten eerste is length
een eigenschap, dus het zou arr.length
zijn in plaats van arr.length()
.
p>
En het geeft 10 terug, de aangegeven maat. De elementen die u niet expliciet declareert, worden geïnitialiseerd met 0.
Antwoord 3, autoriteit 24%
Om de lengte van een array a
te vinden, moet je de eigenschap length
gebruiken. Het is als A.length
, gebruik geen A.length()
het wordt voornamelijk gebruikt voor de grootte van string-gerelateerde objecten.
De eigenschap length toont altijd de totale toegewezen ruimte aan de array tijdens initialisatie.
Als je ooit een van dit soort problemen hebt, is de eenvoudige manier om het uit te voeren. Veel plezier met programmeren!
Antwoord 4, autoriteit 7%
Arrays zijn statische geheugentoewijzing, dus als u een array van gehele getallen initialiseert:
int[] intArray = new int[15];
De lengte is altijd15, ongeacht hoeveel indexen zijn gevuld.
En nog iets, wanneer u een array van gehele getallen initialiseert, alle indexen worden gevuld met “0”.
Antwoord 5, autoriteit 7%
In dit geval retourneert arr.length 10, de grootte van de array die je hebt toegewezen. Logische grootte is hier niet echt van toepassing, omdat dit een array met vaste lengte is.
Als u de array initialiseert:
int[] arr = new int[10];
Java maakt een array met 10 elementen en initialiseert deze allemaal naar 0. Zie de Java-taalspecificatievoor details van initiële waarden voor dit en andere primitieve typen.
Antwoord 6, autoriteit 6%
In Java zijn uw “werkelijke” en “logische” grootte hetzelfde. De runtime vult alle array-slots met standaardwaarden bij toewijzing. Dus uw a
bevat 10.
Antwoord 7, autoriteit 4%
int[] arr = new int[10];
arr
is een array van het type int
met de grootte 10
. Het is een array van 10
elementen.
Als we een array niet standaard initialiseren, bevatten array-elementen standaardwaarde. In het geval van int array is de standaardwaarde 0
.
length is een eigenschap die van toepassing is op een array.
hier geeft arr.length
10
.
Antwoord 8, autoriteit 3%
`
int array[]=nieuwe int[3]; array.length;
dus hier hebben we een array gemaakt met een geheugenruimte van 3…
zo ziet het er eigenlijk uit
0e 1e 2e ………..> Inhoudsopgave
2 4 5 ………..> Nummer
Zoals je ziet is de grootte van deze array 3 maar de index van array is maximaal 2 aangezien elke array begint met de 0e index.
De uitvoer van de
tweede instructie is 3 aangezien de lengte van de array 3 is… Verwar de indexwaarde en de lengte van de array niet….
proost!
Antwoord 9, autoriteit 2%
int arr[]={4,7,2,21321,657,12321};
int length =arr.length;
System.out.println(length); // will return 6
int arr2[] = new int[10];
arr2[3] = 4;
int length2 =arr2.length;
System.out.println(length2); // // will return 10. all other digits will be 0 initialize because staic memory initialization
Antwoord 10
Het bevat de werkelijke grootte van de array, want dat is wat je de array hebt geïnitialiseerd toen je hem declareerde. Java heeft geen idee van de “logische” grootte van een array, wat het betreft is de standaardwaarde van 0 net zo logisch als de waarden die je handmatig hebt ingesteld.
Antwoord 11
Het bevat de toegewezen grootte, 10. De overige indexen bevatten de standaardwaarde die 0 is.
Antwoord 12
Als u de logische grootte van de array wilt, kunt u alle waarden in de array doorlopen en ze vergelijken met nul. Verhoog de waarde als deze niet nul is en dat zou de logische grootte zijn. Omdat de arraygrootte vast is, heb je geen ingebouwde methode, misschien moet je eens kijken naar collecties.
Antwoord 13
Het zou moeten zijn:
int a = arr.length;
Haakjes moeten worden vermeden.
Antwoord 14
Java-arrays hebben eigenlijk een vaste grootte, en de andere antwoorden leggen uit dat .length niet echt doet wat je zou verwachten. Ik zou alleen willen toevoegen dat, gezien je vraag, wat je misschien wilt gebruiken een ArrayList is, dat is een array die kan groeien en krimpen:
https://docs.oracle.com /javase/8/docs/api/java/util/ArrayList.html
Hier zal de .size() methode je het aantal elementen in je lijst laten zien, en je kunt dit laten groeien terwijl je dingen toevoegt.
Antwoord 15
als je bedoelt met “logische grootte”, de index van array, dan gewoon
int arrayLength = arr.lengte-1;
aangezien de array-index begint met “0”, zal de logische of “array-index” altijd “één” kleiner zijn dan de werkelijke grootte.
Antwoord 16
Arrays krijgen geheugen toegewezen tijdens het compileren in Java, dus ze zijn statisch, de elementen die niet expliciet zijn ingesteld of gewijzigd, worden ingesteld met de standaardwaarden. Je zou wat code zoals deze kunnen gebruiken, hoewel het niet wordt aanbevolen omdat het geen standaardwaarden telt, zelfs als je ze expliciet op die manier initialiseert, zal het waarschijnlijk ook bugs veroorzaken. Zoals anderen al zeiden, moet bij het zoeken naar de werkelijke grootte “.length” worden gebruikt in plaats van “.length()”.
public int logicalArrayLength(type[] passedArray) {
int count = 0;
for (int i = 0; i < passedArray.length; i++) {
if (passedArray[i] != defaultValue) {
count++;
}
}
return count;
}