Wat is het verschil tussen .size()
en .length
? Is .size()
alleen voor arraylists en .length
alleen 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. length
is 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.length
retourneert 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.length
is nog steeds 5. Let op: er is geen echte eigenschap of methode genaamd size
in een array, dus u kunt’ t bel gewoon a.size
of a.size()
om de waarde 1 te krijgen.
De methode size()
is beschikbaar voor verzamelingen, length
werkt 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, length
wordt 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 length
eigenschap.
Hoe een geldige for
-lus er ook uitziet als:
for (int i = 0; i < values.length; i++) {}