java arraylist how declare
In deze zelfstudie wordt uitgelegd hoe u Java ArrayList met codevoorbeelden declareert, initialiseert en afdrukt. Je leert ook over 2D Arraylist & Implementatie van ArrayList in Java:
Java Collections Framework en de List-interface werden in onze vorige tutorials in detail uitgelegd. ArrayList is een gegevensstructuur die deel uitmaakt van het Collections Framework en kan worden gezien als vergelijkbaar met arrays en vectoren.
ArrayList kan worden gezien als een dynamische array waarmee u op elk moment of simpel gezegd, dynamisch elementen kunt toevoegen of verwijderen.
Bekijk hier de Java-beginnershandleiding.
Met andere woorden, de grootte kan dynamisch toenemen of afnemen in tegenstelling tot arrays waarvan de grootte statisch blijft nadat ze zijn gedeclareerd.
Wat je leert:
- ArrayList-klasse in Java
- Gevolgtrekking
ArrayList-klasse in Java
De ArrayList-gegevensstructuur in Java wordt vertegenwoordigd door de klasse ArrayList die deel uitmaakt van de ' java.util ' pakket.
De hiërarchie voor de klasse ArrayList wordt hieronder weergegeven.
Zoals u kunt zien, implementeert de klasse ArrayList de List-interface die op zijn beurt weer uit de Collection-interface komt.
De algemene definitie van de klasse ArrayList wordt hieronder gegeven:
Hier zijn enkele van de onderscheidende kenmerken van ArrayList:
- In de klasse ArrayList van Java worden elementen opgeslagen door de invoegvolgorde te behouden.
- De ArrayList staat dubbele elementen toe die erin worden opgeslagen.
- ArrayList is niet gesynchroniseerd, het belangrijkste punt dat de ArrayList onderscheidt van de Vector-klasse in Java.
- ArrayList in Java is meer identiek aan Vectors in C ++.
- De ArrayList in Java gebruikt ook indices zoals arrays en ondersteunt willekeurige toegang.
- De bewerkingen waarmee elementen in de ArrayList worden gemanipuleerd, zijn traag, omdat er veel elementen moeten worden verschoven als er een element uit de ArrayList moet worden verwijderd.
- De klasse ArrayList kan geen primitieve typen bevatten, maar alleen objecten. In dit geval noemen we het meestal ‘ArrayList of objects’. Dus als je integer type elementen wilt opslaan, dan moet je het Integer-object van de wrapper-klasse gebruiken en niet het primitieve type int.
Maak en declareer ArrayList
Om de ArrayList-klasse in uw programma te gebruiken, moet u deze eerst in uw programma opnemen met behulp van de ‘import’ -instructie, zoals hieronder weergegeven:
OF
Nadat u de klasse ArrayList in uw programma hebt geïmporteerd, kunt u een ArrayList-object maken.
De algemene syntaxis voor het maken van ArrayList is:
Afgezien van de bovenstaande instructie die de standaardconstructor gebruikt, biedt de klasse ArrayList ook andere overbelaste constructors die u kunt gebruiken om de ArrayList te maken.
Constructormethoden
De klasse ArrayList in Java biedt de volgende constructormethoden om de ArrayList te maken.
Methode # 1: ArrayList ()
Deze methode gebruikt de standaardconstructor van de klasse ArrayList en wordt gebruikt om een lege ArrayList te maken.
De algemene syntaxis van deze methode is:
Bijvoorbeeld, u kunt een generieke ArrayList van het type String maken met de volgende instructie.
Hierdoor wordt een lege ArrayList gemaakt met de naam ‘arraylist’ van het type String.
Methode # 2: ArrayList (int capaciteit)
Deze overbelaste constructor kan worden gebruikt om een ArrayList te maken met de opgegeven grootte of capaciteit als argument voor de constructor.
De algemene syntaxis voor deze methode is:
Voorbeeld:
De bovenstaande instructie maakt een lege ArrayList met de naam ‘arraylist’ van het type Integer met capaciteit 10.
Methode # 3: ArrayList (verzameling c)
De derde overbelaste constructor voor de klasse ArrayList neemt een reeds bestaande verzameling als argument en maakt een ArrayList met de elementen uit de opgegeven verzameling c als de oorspronkelijke elementen.
De algemene syntaxis voor de ArrayList-initialisatie met deze constructor is:
Bijvoorbeeld, als intList een bestaande verzameling is met elementen {10,20,30,40,50}, dan zal de volgende instructie een lijst ‘arraylist’ aanmaken met de inhoud van intList als de oorspronkelijke elementen.
De klasse ArrayList ondersteunt ook verschillende methoden die kunnen worden gebruikt om de inhoud van de lijst te manipuleren. We zullen deze methoden in detail bespreken in onze aanstaande tutorial 'ArrayList-methoden in Java'.
Initialiseer ArrayList in Java
Nadat de ArrayList is gemaakt, zijn er meerdere manieren om de ArrayList met waarden te initialiseren. In deze sectie zullen we deze manieren bespreken.
# 1) Arrays.asList gebruiken
Hier kunt u een naar List geconverteerde array doorgeven met behulp van de methode asList van de klasse Arrays om de ArrayList te initialiseren.
Algemene syntaxis:
Voorbeeld:
Uitgang:
# 2) Anonieme inner class-methode gebruiken
Hier gebruiken we de anonieme innerlijke klasse om de ArrayList naar waarden te initialiseren.
De algemene syntaxis voor het gebruik van een anonieme inner class voor ArrayList-initialisatie is als volgt:
Voorbeeld:
Uitgang:
# 3) Met behulp van de add-methode
Dit is de gebruikelijke methode om elementen aan een verzameling toe te voegen.
De algemene syntaxis voor het gebruik van de add-methode om elementen toe te voegen aan ArrayList is:
Programmeervoorbeeld:
Uitgang:
# 4) Met behulp van de Collection.nCopies-methode
Deze methode wordt gebruikt om de ArrayList met dezelfde waarden te initialiseren. We bieden het aantal elementen dat moet worden geïnitialiseerd en de beginwaarde voor de methode.
De algemene syntaxis van initialisatie is:
In het onderstaande voorbeeld wordt de array-initialisatie gedemonstreerd met de methode Collections.nCopies.
Uitgang:
Itereren door ArrayList
We hebben de volgende manieren om door de ArrayList te lopen of er doorheen te lopen:
- Gebruik voor lus
- Door for-each-lus (verbeterde for-lus).
- Met behulp van de Iterator-interface.
- Door ListIterator-interface.
- Door de methode forEachRemaining ().
In feite worden deze methoden gebruikt om verzamelingen in het algemeen te doorlopen. We zullen voorbeelden van elk van de methoden zien met betrekking tot ArrayList in deze tutorial.
# 1) For loop gebruiken
Een op index gebaseerde for-lus kan worden gebruikt om de ArrayList te doorlopen en de elementen ervan af te drukken.
Hieronder volgt een voorbeeld om de ArrayList te doorlopen en af te drukken met for-lus.
Uitgang:
Dit is de eenvoudigste en gemakkelijkste manier om de elementen van ArrayList te doorlopen en af te drukken en werkt ook in het geval van andere verzamelingen op dezelfde manier.
# 2) Per for-each-lus (verbeterd voor lus)
U kunt de ArrayList ook doorlopen met een for-each-lus of de verbeterde for-lus. Vóór Java 8 bevatte het geen lambda-expressies. Maar vanaf Java 8 kunt u ook Lambda-expressies opnemen in de for-each-lus.
Het onderstaande programma demonstreert het doorlopen en afdrukken van ArrayList voor elke lus en lambda-expressie.
Uitgang:
# 3) Iterator-interface gebruiken
We hebben de Iterator-interface in detail gezien in onze vorige onderwerpen. De Iterator-interface kan worden gebruikt om de ArrayList te doorlopen en de waarden ervan af te drukken.
Het volgende programma laat dit zien.
Uitgang:
# 4) Door ListIterator-interface
U kunt de ArrayList ook doorlopen met ListIterator. ListIterator kan worden gebruikt om de ArrayList zowel in voorwaartse als achterwaartse richting te doorlopen.
Laten we een Java-programma implementeren dat een voorbeeld laat zien van het gebruik van ListIterator.
Uitgang:
Zoals u aan de uitvoer kunt zien, wordt in het bovenstaande programma de ArrayList in achterwaartse richting doorlopen met de methoden hasPrevious () en previous () van ListIterator.
# 5) Door forEachRemaining () - methode
Dit is een van de methoden om de ArrayList te doorlopen en is beschikbaar sinds Java 8.
Het volgende programma demonstreert de methode forEachRemaining () om ArrayList te doorlopen.
Uitgang:
hoe u waarden aan een array toevoegt
We gebruiken de methode forEachRemaining () samen met een Iterator. Het is vergelijkbaar met elk en we gebruiken lambda-expressie binnen deze methode.
ArrayList Java-voorbeeld
In deze sectie zullen we de ArrayList-implementatie in Java zien. Als voorbeeld zullen we een compleet voorbeeld implementeren van het maken, initialiseren en gebruiken van Java ArrayList om verschillende manipulaties uit te voeren.
Uitgang:
Tweedimensionale ArrayList in Java
We weten dat een ArrayList geen dimensies heeft zoals Arrays. Maar we kunnen geneste ArrayLists hebben die ook ‘2D ArrayLists’ of ‘ArrayList of ArrayLists’ worden genoemd.
Het simpele idee achter deze geneste ArrayLists is dat gegeven een ArrayList, elk element van deze ArrayList een andere ArrayList is.
Laten we dit begrijpen met behulp van het volgende programma.
Uitgang:
Het bovenstaande programma toont 2D ArrayList. Hier verklaren we eerst een ArrayList of ArrayLists. Vervolgens definiëren we individuele ArrayLists die zullen dienen als individuele elementen van geneste ArrayList wanneer we elk van deze ArrayLists toevoegen aan Nested ArrayList.
Om toegang te krijgen tot elk element van de ArrayList, moeten we de methode get twee keer aanroepen. Eerst om toegang te krijgen tot de rij van de geneste ArrayList en vervolgens om toegang te krijgen tot de individuele kruising van rij en kolom.
Merk op dat u de geneste niveaus van ArrayList kunt verhogen om multidimensionale ArrayLists te definiëren. Bijvoorbeeld, 3D ArrayList heeft 2D ArrayLists als elementen, enzovoort.
Veel Gestelde Vragen
V # 1) Wat is de ArrayList in Java?
Antwoord: Een ArrayList in Java is een dynamische array. Het is aanpasbaar van aard, d.w.z. het wordt groter wanneer nieuwe elementen worden toegevoegd en krimpt wanneer elementen worden verwijderd.
V # 2) Wat is het verschil tussen Array en ArrayList?
Antwoord: Een array heeft een statische structuur en de grootte kan niet worden gewijzigd nadat deze is gedeclareerd. Een ArrayList is een dynamische array en verandert van grootte wanneer elementen worden toegevoegd of verwijderd.
De array is een basisstructuur in Java, terwijl een ArrayList een onderdeel is van het Collection Framework in Java. Een ander verschil is dat terwijl Array subscript (()) gebruikt om toegang te krijgen tot elementen, ArrayList methoden gebruikt om toegang te krijgen tot de elementen.
V # 3) Is ArrayList een lijst?
Antwoord: ArrayList is een subtype van de lijst. ArrayList is een klasse terwijl List een interface is.
V # 4) Is ArrayList een verzameling?
Antwoord: Nee. ArrayList is een implementatie van Collection, wat een interface is.
V # 5) Hoe vergroot ArrayList de grootte?
Antwoord: Intern wordt ArrayList geïmplementeerd als een Array. ArrayList heeft een grootteparameter. Wanneer de elementen worden toegevoegd aan de ArrayList en de waarde voor de grootte is bereikt, voegt ArrayList intern een andere array toe om nieuwe elementen op te nemen.
Gevolgtrekking
Dit was de tutorial over de basisprincipes van de klasse ArrayList in Java. We hebben de creatie en initialisatie van de ArrayList-klasse gezien, samen met een gedetailleerde programmeerimplementatie van ArrayList.
We hebben ook gesproken over 2D en multidimensionale ArrayLists. De klasse ArrayList ondersteunt de verschillende methoden die we kunnen gebruiken om de elementen te manipuleren. In onze komende tutorials zullen we deze methoden behandelen.
Lees de Easy Java Training Series door.
Aanbevolen literatuur
- Java Array - Declareer, creëer en initialiseer een array in Java
- Java Array - Hoe elementen van een array in Java af te drukken?
- Java-implementatie: creatie en uitvoering van Java JAR-bestand
- Java-lijst - Hoe u een lijst in Java kunt maken, initialiseren en gebruiken
- Java Virtual Machine: hoe JVM helpt bij het uitvoeren van Java-applicaties
- Array van objecten in Java: hoe te maken, initialiseren en gebruiken
- Toegang tot modificatoren in Java - Tutorial met voorbeelden
- Zelfstudie over reflectie in Java met voorbeelden