Arraylengte in Java

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 0voor int.


Antwoord 2, autoriteit 81%

Ten eerste is lengtheen eigenschap, dus het zou arr.lengthzijn 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 ate vinden, moet je de eigenschap lengthgebruiken. Het is als A.length, gebruik geen A.length()het wordt voornamelijk gebruikt voor de grootte van string-gerelateerde objecten.

voer hier de afbeeldingsbeschrijving in

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 abevat 10.


Antwoord 7, autoriteit 4%

int[] arr = new int[10];

arris een array van het type intmet de grootte 10. Het is een array van 10elementen.
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.length10.


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;
}

Other episodes