java arraylist conversions other collections
Deze tutorial bespreekt ArrayList-conversies naar andere collecties zoals Set, LinkedList, Lists, etc. samen met verschillen tussen deze collecties:
gratis programma om youtube-video's te downloaden
Tot nu toe hebben we bijna alle concepten gezien die verband houden met ArrayList in Java. Afgezien van het maken en manipuleren van ArrayList met behulp van verschillende bewerkingen of methoden die door de klasse ArrayList worden geleverd, is het soms ook nodig om ArrayList naar een of meer verzamelingen te converteren.
Bezoek hier om Java vanaf het begin te leren.
In deze tutorial bespreken we enkele van de conversies van ArrayList naar andere collecties die List, LinkedList, Vector, Set, enz. Bevatten. We zullen ook de conversie tussen ArrayList en String overwegen. Na conversies bespreken we ook de verschillen tussen ArrayLists en andere Collections - Arrays, List, Vector, LinkedList, etc.
Wat je leert:
- ArrayList naar stringconversie
- String naar ArrayList-conversie
- Converteer lijst naar ArrayList in Java
- Zet ArrayList om in Java
- Set omzetten in ArrayList in Java
- Een array van ArrayList in Java
- ArrayList van arrays in Java
- Lijst versus ArrayList in Java
- Vector versus ArrayList
- ArrayList versus LinkedList
- Veel Gestelde Vragen
- Gevolgtrekking
- Aanbevolen literatuur
ArrayList naar stringconversie
De volgende methoden kunnen worden gebruikt om ArrayList naar String te converteren.
# 1) Een StringBuilder-object gebruiken
Uitgang:
The ArrayList: (Software, testen, Help)
String uit ArrayList: Help bij softwaretesten
In het bovenstaande programma wordt een StringBuilder-object gemaakt. Met behulp van de forEach-lus wordt elk element in de ArrayList toegevoegd aan het StringBuilder-object. Vervolgens wordt het StringBuilder-object geconverteerd naar een string. Merk op dat het gebruik van de StringBuilder ‘append’ -methode; u kunt ook het juiste scheidingsteken aan de tekenreeks toevoegen.
In het bovenstaande voorbeeld hebben we spatie ('') als scheidingsteken gebruikt.
# 2) String.join () methode gebruiken
De methode String.join () kan worden gebruikt om de ArrayList naar String te converteren. Hier kunt u ook het juiste scheidingsteken doorgeven aan de join-methode.
Het onderstaande programma laat dit zien.
Uitgang:
The ArrayList: (Delhi, Mumbai, Chennai, Kolkata)
Tekenreeks omgezet van ArrayList: Delhi Mumbai Chennai Kolkata
U kunt zien dat we de ArrayList direct als argument doorgeven aan de methode String.join () samen met het scheidingsteken.
Voor eenvoudige String ArrayLists is String.join () de beste methode om naar String te converteren. Maar voor complexere ArrayLists-objecten is het gebruik van StringBuilder efficiënter.
String naar ArrayList-conversie
Om een String naar ArrayList te converteren, zijn er twee stappen:
- De string wordt gesplitst met de functie split () en de subtekenreeksen (gesplitst op een geschikt scheidingsteken) worden opgeslagen in een string-array.
- De string-array die wordt verkregen door het splitsen van de string, wordt vervolgens geconverteerd naar ArrayList met behulp van de ‘asList ()’ - methode van de klasse Arrays.
Het programma om string naar ArrayList te converteren wordt hieronder gegeven.
Uitgang:
De invoertekenreeks: de tekenreeks naar het ArrayList-programma
De ArrayList van String: (The, string, to, ArrayList, program)
In het bovenstaande programma splitsen we de string op in spaties en verzamelen we deze in een string-array. Deze array wordt vervolgens geconverteerd naar een ArrayList met strings.
Converteer lijst naar ArrayList in Java
ArrayList implementeert de List-interface. Als u een lijst wilt converteren naar zijn implementatie zoals ArrayList, dan kunt u dit doen met behulp van de addAll-methode van de List-interface.
Het onderstaande programma toont de conversie van de lijst naar ArrayList door alle lijstelementen aan de ArrayList toe te voegen.
Uitgang:
Lijstinhoud: (ArrayList, Vector, LinkedList, Stack, Set, Map)
ArrayList na het toevoegen van elementen: (ArrayList, Vector, LinkedList, Stack, Set, Map)
Zet ArrayList om in Java
De volgende methoden converteren een ArrayList naar een Set.
# 1) Een traditionele iteratieve benadering gebruiken
Dit is de traditionele benadering. Hier doorlopen we de lijst en voegen we elk element van de ArrayList toe aan de set.
In het onderstaande programma hebben we een ArrayList met string. We declareren een HashSet-string. Vervolgens gebruiken we de forEach-lus, herhalen we de ArrayList en voegen we elk element toe aan de HashSet.
Op een vergelijkbare manier kunnen we ArrayList ook converteren naar een treeSet.
Uitgang:
De ArrayList: (Rood, Groen, Blauw, Cyaan, Magenta, Geel)
HashSet verkregen van ArrayList: (Rood, Cyaan, Blauw, Geel, Magenta, Groen)
# 2) Set Constructor gebruiken
De volgende methode om een ArrayList naar een set te converteren, is met behulp van de constructor. Bij deze methode geven we de ArrayList als argument door aan de set constructor en initialiseren zo het set object met ArrayList elementen.
Het onderstaande programma toont het gebruik van ArrayList bij het maken van een set-object.
Uitgang:
De ArrayList: (Rood, Groen, Blauw, Cyaan, Magenta, Geel
TreeSet verkregen van ArrayList: (Blauw, Cyaan, Groen, Magenta, Rood, Geel)
# 3) De addAll-methode gebruiken
U kunt ook de addAll-methode van Set gebruiken om alle elementen van ArrayList aan de set toe te voegen.
Het volgende programma gebruikt de addAll-methode om de elementen van ArrayList aan de HashSet toe te voegen.
Uitgang:
De ArrayList: (Rood, Groen, Blauw, Cyaan, Magenta, Geel)
HashSet verkregen van ArrayList: (Rood, Cyaan, Blauw, Geel, Magenta, Groen)
# 4) Java 8 Stream gebruiken
Streams zijn de nieuwe toevoegingen aan Java 8. Deze streamklasse biedt een methode om ArrayList te converteren naar stream en vervolgens naar set.
Het onderstaande Java-programma demonstreert het gebruik van de stream class-methode om ArrayList naar set te converteren.
Uitgang:
De ArrayList: (Rood, Groen, Blauw, Cyaan, Magenta, Geel)
Set verkregen van ArrayList: (Rood, Cyaan, Blauw, Geel, Magenta, Groen)
hoe u een reeks objecten in java initialiseert
Set omzetten in ArrayList in Java
In de laatste sectie hebben we de conversie van ArrayList naar Set gezien. De conversie van Set naar ArrayList maakt ook gebruik van dezelfde methoden als hierboven beschreven, met het verschil dat de positie van de set en ArrayList verandert.
Hieronder vindt u programmeervoorbeelden om Set naar ArrayList te converteren. De andere beschrijving voor elke methode blijft hetzelfde.
# 1) Iteratieve benadering
Uitgang:
De gegeven set: (een, twee, drie)
ArrayList verkregen van Set: (One, Two, Three)
In het bovenstaande programma doorlopen we de Set en elk setelement wordt toegevoegd aan de ArrayList.
# 2) Constructor gebruiken
Uitgang:
De gegeven set: (een, twee, drie)
ArrayList verkregen van Set: (One, Two, Three)
Het bovenstaande programma maakt een set en een ArrayList. Het ArrayList-object wordt gemaakt door een set-object als argument in de constructor op te geven.
# 3) De addAll-methode gebruiken
Uitgang:
De gegeven set: (een, twee, drie)
ArrayList verkregen van Set: (One, Two, Three)
Hier gebruiken we de addAll-methode van ArrayList om de elementen uit de set aan de ArrayList toe te voegen.
# 4) Java 8 Stream gebruiken
Uitgang:
De gegeven set: (een, twee, drie)
ArrayList verkregen van Set: (One, Two, Three)
Het bovenstaande programma gebruikt stream class om Set naar ArrayList te converteren.
Een array van ArrayList in Java
Een Array of ArrayList, zoals de naam suggereert, bestaat uit ArrayLists als zijn elementen. Hoewel de functie niet regelmatig wordt gebruikt, wordt deze gebruikt wanneer efficiënt gebruik van geheugenruimte een vereiste is.
Het volgende programma implementeert een array van ArrayLists in Java.
Uitgang:
Inhoud van Array of ArrayList:
(Een, twee, twee)
(Rood, Groen, Blauw)
In het bovenstaande programma definiëren we eerst twee lijsten. Vervolgens declareren we een array van twee ArrayList. Elk element van deze array is de eerder gedefinieerde ArrayList. Ten slotte wordt de inhoud van een Array of ArrayList weergegeven met een for-lus.
ArrayList van arrays in Java
Net zoals we een Array of ArrayLists hebben, kunnen we ook ArrayList of Arrays hebben. Hier is elk afzonderlijk element van een ArrayList een Array.
Het onderstaande programma demonstreert ArrayList of Arrays.
Uitgang:
Inhoud van ArrayList of Arrays:
(Rood, Groen, Blauw)
(Pune, Mumbai, Delhi)
Het bovenstaande programma demonstreert ArrayList of Arrays. In eerste instantie declareren we een ArrayList of String Arrays. Dit betekent dat elk element van ArrayList een String Array zal zijn. Vervolgens definiëren we twee string-arrays. Vervolgens wordt elk van de Arrays toegevoegd aan de ArrayList. Ten slotte drukken we de inhoud van ArrayList of Arrays af.
Om de inhoud af te drukken, doorlopen we de ArrayList met de for-lus. Voor elke iteratie drukken we de inhoud af van het ArrayList-element dat een Array heeft met de methode Arrays.toString ().
Lijst versus ArrayList in Java
In de volgende tabellen ziet u enkele verschillen tussen een lijst en een array-lijst.
Lijst | ArrayList |
---|---|
De lijst is een interface in Java | ArrayList is een onderdeel van het Java Collection-framework |
De lijst is geïmplementeerd als een interface | ArrayList is geïmplementeerd als een verzamelingsklasse |
Breidt de collectie-interface uit | implementeert List-interface en breidt AbstractList uit |
Onderdeel van System.Collection.generic naamruimte | Onderdeel van de naamruimte System.Collections |
Met behulp van List kan een lijst met elementen worden gemaakt die toegankelijk zijn via indices. | Met ArrayList kunnen we een dynamische array van elementen of objecten maken waarvan de grootte automatisch verandert met de veranderingen in de inhoud. |
Vector versus ArrayList
Hieronder staan enkele verschillen tussen een Vector en een ArrayList.
ArrayList | LinkedList |
---|---|
ArrayList implementeert List-interface | LinkedList implementeert List- en Deque-interfaces. |
Gegevensopslag en -toegang zijn efficiënt in ArrayList. | LinkedList is goed in het manipuleren van gegevens. |
ArrayList implementeert intern een dynamische array. | LinkedList implementeert intern een dubbel gelinkte lijst. |
Omdat ArrayList intern een dynamische array implementeert, is het toevoegen / verwijderen van elementen traag omdat er veel bit-shifting nodig is. | LinkedList is sneller wat betreft het toevoegen / verwijderen van elementen, aangezien er geen bitverschuiving nodig is. |
Minder geheugenoverhead omdat in ArrayList alleen feitelijke gegevens worden opgeslagen. | Meer geheugenoverhead omdat elk knooppunt in LinkedList zowel gegevens bevat als het adres naar het volgende knooppunt. |
ArrayList versus LinkedList
Laten we nu de verschillende verschillen tussen een ArrayList en een LinkedList bespreken.
ArrayList | LinkedList |
---|---|
ArrayList implementeert List-interface | LinkedList implementeert List- en Deque-interfaces. |
Gegevensopslag en -toegang zijn efficiënt in ArrayList. | LinkedList is goed in het manipuleren van gegevens. |
ArrayList implementeert intern een dynamische array. | LinkedList implementeert intern een dubbel gelinkte lijst. |
Omdat ArrayList intern een dynamische array implementeert, is het toevoegen / verwijderen van elementen traag omdat er veel bit-shifting nodig is. | LinkedList is sneller wat betreft het toevoegen / verwijderen van elementen, aangezien er geen bitverschuiving nodig is. |
Minder geheugenoverhead omdat in ArrayList alleen feitelijke gegevens worden opgeslagen. | Meer geheugenoverhead omdat elk knooppunt in LinkedList zowel gegevens bevat als het adres naar het volgende knooppunt. |
Veel Gestelde Vragen
V # 1) Hoe converteer je een ArrayList naar een Array in Java?
Antwoord: Om een ArrayList naar een Array in Java te converteren, kan men de toArray () - methode van ArrayList API gebruiken die een bepaalde ArrayList naar een Array converteert.
Vraag 2 Hoe splitst u een string en slaat u deze op in een ArrayList in Java?
Antwoord: De string wordt gesplitst met behulp van een split () -functie. Deze methode retourneert een reeks strings. Met behulp van de methode Arrays.asList () kan de string-array worden geconverteerd naar een ArrayList met strings.
V # 3) Wat is de standaardgrootte van een ArrayList?
Antwoord: Een ArrayList-object dat is gemaakt zonder de capaciteit op te geven, heeft een grootte van 0 omdat er geen elementen aan de lijst zijn toegevoegd. Maar de standaardcapaciteit van deze ArrayList is 10.
V # 4) Wat is het verschil tussen lengte () en grootte () van ArrayList?
Antwoord: Een ArrayList heeft geen eigenschap of methode length (). Het biedt alleen de methode size () die het totale aantal elementen in de ArrayList retourneert.
V # 5) Wat is het verschil tussen de capaciteit en de grootte van ArrayList?
Antwoord: ArrayList heeft zowel capaciteit als grootte. Capaciteit is de totale grootte van de ArrayList of het totale aantal elementen dat deze kan bevatten. Grootte is het aantal elementen of locaties met gegevens erin.
Bijvoorbeeld, als de capaciteit van ArrayList 10 is en de grootte 5, betekent dit dat een ArrayList maximaal 10 elementen kan bevatten, maar op dit moment bevatten slechts 5 locaties gegevens.
Gevolgtrekking
In deze tutorial hebben we enkele van de aanvullende concepten met betrekking tot ArrayList besproken, zoals het converteren van ArrayList naar een string, lijst, set en vice versa. We hebben ook de verschillen besproken tussen ArrayList en Vector, ArrayList en LinkedList, enz.
In onze aanstaande tutorial zullen we een andere verzameling opnemen en deze grondig leren.
Kijk hier om AZ van Java-trainingshandleidingen hier te zien.
Aanbevolen literatuur
- Java String met String Buffer en String Builder Tutorial
- Java ArrayList - Een ArrayList declareren, initialiseren en afdrukken
- Zelfstudie over reflectie in Java met voorbeelden
- Zelfstudie voor Java String | Java String-methoden met voorbeelden
- Java-threads met methoden en levenscyclus
- Java-implementatie: creatie en uitvoering van Java JAR-bestand
- Java Basics: Java Syntax, Java Class en Core Java Concepts
- Java Virtual Machine: hoe JVM helpt bij het uitvoeren van Java-applicaties