Ik kom uit een php-achtergrond en in php is er een functie array_size()
die je vertelt hoeveel elementen in de array worden gebruikt.
Is er een vergelijkbare methode voor een String[]
array? Bedankt.
Antwoord 1, autoriteit 100%
Ja, .length
(eigendom-achtig, geen methode):
String[] array = new String[10];
int size = array.length;
Antwoord 2, autoriteit 16%
array.length
Het is eigenlijk een laatste lid van de array, geen methode.
Antwoord 3, autoriteit 7%
Het is waarschijnlijk ook handig om op te merken dat als je een meerdimensionale array hebt, je de respectieve dimensie kunt krijgen door een ‘[0]’ toe te voegen aan de array die je zoekt totdat je bij de juiste as/tupel/ bent aangekomen. dimensie.
Dit is waarschijnlijk beter uit te leggen met de volgende code:
public class Test {
public static void main(String[] args){
String[][] moo = new String[5][12];
System.out.println(moo.length); //Prints the size of the First Dimension in the array
System.out.println(moo[0].length);//Prints the size of the Second Dimension in the array
}
}
Wat de uitvoer produceert:
5
12
Antwoord 4, autoriteit 5%
array.length laatste eigenschap
het is openbaar en definitief eigendom. Het is definitief omdat arrays in Java onveranderlijk zijn qua grootte (maar veranderbaar door de waarde van het element)
Antwoord 5, autoriteit 5%
Arrays zijn objecten en hebben een lengteveld.
String[] haha = {“olle”, “bulle”};
haha.lengte zou 2 zijn
Antwoord 6, autoriteit 4%
In Java is er een veld length
dat je op elke array kunt gebruiken om de grootte te achterhalen:
String[] s = new String[10];
System.out.println(s.length);
Antwoord 7, autoriteit 3%
Als je wilt dat een functie dit doet
Object array = new String[10];
int size = Array.getlength(array);
Dit kan handig zijn als je niet weet welk type array je hebt, b.v. int[], byte[] of Object[].
Antwoord 8, autoriteit 2%
Er is een verschil tussen de lengte van String
en array
ter verduidelijking:
int a[] = {1, 2, 3, 4};
String s = "1234";
a.length //gives the length of the array
s.length() //gives the length of the string
Antwoord 9, autoriteit 2%
Het antwoord is “allemaal”. Een java-array wordt toegewezen met een vast aantal elementslots. Het attribuut “length” geeft aan hoeveel. Dat aantal is onveranderlijk voor de levensduur van de array. Voor een equivalent waarvan de grootte kan worden gewijzigd, hebt u een van de klassen java.util.List nodig – waar u de methode size() kunt gebruiken om te zien hoeveel elementen er in gebruik zijn.
Er is echter “In gebruik” en dan is er In gebruik. In een klasseobjectarray kunt u elementslots hebben waarvan de elementen null-objecten zijn, dus hoewel ze meetellen in het lengteattribuut, maar de definities van de meeste mensen, zijn ze niet in gebruik (YMMV, afhankelijk van de toepassing). Er is geen ingebouwde functie voor het retourneren van de null/niet-null-tellingen.
Lijstobjecten hebben nog een andere definitie van “in gebruik”. Om overmatige creatie / vernietiging van de onderliggende opslagstructuren te voorkomen, is er typisch wat vulling in deze klassen. Het wordt intern gebruikt, maar wordt niet geteld in de methode van de geretourneerde grootte (). En als u probeert toegang te krijgen tot die items zonder de lijst uit te breiden (via de methoden toevoegen), krijgt u een illegale index-uitzondering.
Dus voor lijsten, kunt u “in gebruik” hebben voor niet-null, toegewijde elementen, alle toegewijde elementen (inclusief nulelementen) of alle elementen, inclusief de expansieruimte die momenteel is toegewezen.
Antwoord 10
Alle bovenstaande antwoorden zijn correct. Het belangrijkste om te observeren is de arrays hebben een lengteattribuut, maar geen lengtemethode. Wanneer u snaren en arrays in Java gebruikt, zijn de drie basismodellen die u kunt ondergaan:
- string s = nieuwe string (“vidyasagar”);
System.out.Println (S.Length ()); // In dit geval gebruiken we alleen
Snaar. Geen lengteattribuut voor snaren. We moeten lengte gebruiken ()
methode. - int [] s = nieuwe int [10]; System.out.Println (S.Length); //hier Wij
Gebruik de lengteattribuut van arrays. - String [] S = Nieuwe string [10];
System.out.Println (S.Length); // hier, ook al is het gegevenstype
String, het is geen enkele string. s is een referentie voor reeks van
Snaren. Dus we gebruiken lengteattribuut van arrays om uit te drukken hoe
Veel snaren kunnen in die array passen.
Antwoord 11
Niet echt het antwoord op uw vraag, maar als u iets wilt hebben als een array die kan groeien en krimpen, moet u geen array in Java gebruiken. Je hebt waarschijnlijk het beste van het gebruik van arrayclist of een andere lijstimplementatie.
U kunt vervolgens op maat () erop bellen om het formaat te krijgen.