Java String-array: is er een grootte van de methode?

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 lengthdat 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 Stringen arrayter 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:

  1. 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.
  2. int [] s = nieuwe int [10]; System.out.Println (S.Length); //hier Wij
    Gebruik de lengteattribuut van arrays.
  3. 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.

Other episodes