Verschil tussen maat- en lengtemethoden?

Wat is het verschil tussen .size()en .length? Is .size()alleen voor arraylists en .lengthalleen voor arrays?


Antwoord 1, autoriteit 100%

size()is een methode gespecificeerd in java.util.Collection, die vervolgens wordt overgenomen door elke datastructuur in de standaardbibliotheek. lengthis een veld op elke array (arrays zijn objecten, je ziet de klasse gewoon niet normaal), en length()is een methode op java.lang.String, wat sowieso maar een dunne wrapper is op een char[].

Misschien zijn strings door hun ontwerp onveranderlijk en zijn alle subklassen van de collectie op het hoogste niveau veranderlijk. Dus waar je ‘lengte’ ziet, weet je dat dat constant is, en waar je ‘grootte’ ziet, is dat niet het geval.


Antwoord 2, autoriteit 50%

lengte is constant en wordt gebruikt om de opslagcapaciteit van de array te achterhalen, niet het aantal elementen in de array

Voorbeeld:

int[] a = new int[5]

a.lengthretourneert altijd 5, wat de capaciteit van een array wordt genoemd. Maar

aantal elementen in de array wordt grootte genoemd

Voorbeeld:

int[] a = new int[5]
a[0] = 10

Hier zou de grootte 1 zijn, maar a.lengthis nog steeds 5. Let op: er is geen echte eigenschap of methode genaamd sizein een array, dus u kunt’ t bel gewoon a.sizeof a.size()om de waarde 1 te krijgen.

De methode size()is beschikbaar voor verzamelingen, lengthwerkt met arrays in Java.


Antwoord 3, autoriteit 2%

length variable:

Op Java array (niet java.util.Array) een vooraf bepaalde klasse in de taal zelf. Om de elementen van een array te vinden, gebruikten ontwerpers lengte-variabele (lengte is een veldelement in de vooraf gedefinieerde klasse). Ze moeten lengte () zelf hebben gegeven om uniformiteit in Java te hebben; maar niet. De reden hiervoor is door de prestaties, het uitvoeren van de lengte variabel is sneller dan het aanroepen van de methode length (). Het is als het vergelijken van twee snaren met == en gelijken (). gelijken () is een methode-oproep die meer tijd kost dan het uitvoeren van ==-operator.

size() method:

Het wordt gebruikt om het aantal elementen aanwezig in collectionclasses te vinden. Het is gedefinieerd in Java.UTIL.Collection-interface.


4

Op basis van de syntax ik ​​ga ervan uit dat het enige taal die afstammeling van C. Als per wat ik heb gezien, lengthwordt gebruikt voor eenvoudige verzameling items zoals arrays en in de meeste gevallen is een eigendom.

size()is een functie en wordt gebruikt voor Dynamic Collection-objecten. Maar voor alle doeleinden van het gebruik, zult u geen verschillen in het resultaat vinden met behulp van een van beide. In de meeste implementaties, de grootte gewoon lengte retourneert.


Antwoord 5

Ik wed dat (geen taal gespecificeerd) size()methode retourneert lengtheigenschap.

Hoe een geldige for-lus er ook uitziet als:

for (int i = 0; i < values.length; i++) {}

Other episodes