Hoe initialiseer je een array in Java?
Een array is een gegevensstructuur in Java die wordt gebruikt om gegevensobjecten met hetzelfde gegevenstype op te slaan. Elk element in een array heeft een unieke indexwaarde. In een array moeten we eerst de grootte ervan opgeven en de grootte van de array staat vast. In een array kunnen we elementen van verschillende gegevenstypen opslaan, zoals geheel getal, string, datum enzovoort. In dit artikel bespreken we verschillende manieren om een array te declareren en te initialiseren.
Een array declareren in Java
Een array wordt gedeclareerd met behulp van het gegevenstype en de identificatie ervan. In Java worden arrays op dezelfde manier gedeclareerd als andere variabelen, maar er wordt een extra haakje [] toegevoegd wanneer we een array declareren.
Syntaxis:
int arr []; int [] arr;
Hier wordt de grootte van de array niet vermeld, omdat er in het geheugen een verwijzing naar een array wordt aangemaakt. Het kan ook bekend staan als een geheugenadres van een array.
Hoe initialiseer je een array in Java?
Nadat we een array hebben gedeclareerd, moeten we deze initialiseren met waarden, net zoals we dat met andere variabelen moeten doen. In een array moeten we meerdere waarden toewijzen, dus het initialisatieproces is niet zo eenvoudig als variabelen. We kunnen een array initialiseren met standaard- of niet-standaardwaarden. Hieronder vindt u verschillende methoden om een array te initialiseren:
- Initialiseer een array met standaardwaarden
- Initialiseer een array met niet-standaardwaarden
- Initialiseer een array met accolades { }
- Initialisatie met behulp van streaminterface
Initialiseer een array met standaardwaarden
In Java kan een array worden geïnitialiseerd met standaardwaarden wanneer de grootte van de array wordt gedeclareerd tussen rechthoekige haakjes [ ].
int [] arr = new int[20];
In de bovenstaande code wordt een array van grootte 20 gedeclareerd waarbij het gegevenstype geheel getal is. Verschillende gegevenstypen hebben verschillende standaardwaarden die worden geïnitialiseerd op het moment van declaratie. Voor een array van het type integer is de standaardwaarde 0, false is de standaardwaarde voor een array van het booleaanse type en een lege tekenreeks is de standaardwaarde voor een array van het stringtype.
Initialiseer een array met niet-standaardwaarden
In Java kunnen we ook een array met bepaalde waarden initialiseren. Daarvoor moeten we elke waarde één voor één initialiseren. Maar deze methode is alleen nuttig voor arrays van kleine omvang en niet voor arrays met grote afmetingen. Voor arrays van grote omvang moeten we een lus gebruiken om niet-standaardwaarden te initialiseren.
In het volgende voorbeeld wordt een array van het type integer met grootte 6 gedeclareerd en worden daarin zes niet-standaardwaarden geïnitialiseerd.
int[] arr = new int[6]; arr[0] = 8; arr[1] = 6; arr[2] = 4; arr[3] = 2; arr[4] = 1; arr[5] = 9;
Initialiseer een array met accolades { }
Een array kan ook worden geïnitialiseerd door accolades te gebruiken, waarbij we de grootte van de array niet hoeven aan te geven. Alle niet-standaardwaarden worden geïnitialiseerd tussen de accolades, gescheiden door een komma.
In het volgende voorbeeld wordt een array van het stringtype geïnitialiseerd met niet-standaardwaarden met behulp van accolades.
String[] arrStr = {'Geeks', 'of', 'Geeks'}; Initialisatie met behulp van streaminterface
Een array kan worden geïnitialiseerd met behulp van een streaminterface die een stroom waarden genereert en deze vervolgens wordt omgezet in een array. Hieronder staan drie instream-interfaces die worden gebruikt om een array van het integer-type te initialiseren.
- IntStream.bereik()
- IntStream.rangeClosed()
- IntStream.of()
1. IntStream.bereik()
Het wordt gebruikt om een reeks gehele getallen binnen een bepaald bereik te initialiseren. De eerste parameter in het bereik zal het eerste element van de array zijn en de andere elementen in de array zullen groter zijn dan dat element maar kleiner dan de tweede parameter van het bereik.
2. IntStream.rangeClosed()
Wij kunnen ook gebruiken bereikGesloten() in plaats van bereik() als we het laatste element van het bereik in een array willen toevoegen. De eerste parameter in het bereikGesloten() methode zal het eerste element van de array zijn en de andere elementen in de array zullen groter zijn dan dat element, maar kleiner dan en gelijk aan de tweede parameter van de array. bereikGesloten() methode.
3. IntStream.of()
Deze methode werkt op dezelfde manier als accolades, waarbij we elk element afzonderlijk moeten vermelden dat we aan de array willen toewijzen. In de volgende code hebben we waarden aan de array toegewezen met behulp van deze drie interfaces.
Voorbeeld:
Java
// Java program to demonstrate different ways of> // initializing an integer array.> import> java.util.stream.IntStream;> > // Driver Clas> public> class> Main {> > // Main function> > public> static> void> main(String[] args)> > {> > > // an array of integers using IntStream.range()> > // method> > int> [] arr1 = IntStream.range(> 1> ,> 5> ).toArray();> > for> (> int> i => 0> ; i System.out.print(arr1[i] + ' '); } System.out.print('
'); // an array of integers using // IntStream.rangeClosed() method int[] arr2 = IntStream.rangeClosed(1, 4).toArray(); for (int i = 0; i System.out.print(arr2[i] + ' '); } System.out.print('
'); // an array of integers using IntStream.of() // method int[] arr3 = IntStream.of(1, 2, 3, 4).toArray(); for (int i = 0; i System.out.print(arr3[i] + ' '); } } }> |
Uitvoer
1 2 3 4 1 2 3 4 1 2 3 4