arraylist methods java tutorial with example programs
In deze zelfstudie bespreken we Java ArrayList-methoden zoals add, addAll, remove, removeAll, size, contains, keepAll, Sort, Reverse, etc. met voorbeelden:
In de vorige tutorial hebben we de ArrayList-datastructuur onderzocht en de ArrayList-klasse die voor deze datastructuur / verzameling in Java is voorzien. We hebben het maken, initialiseren, enz. Van de ArrayList-objecten geleerd.
Afgezien van deze functies die ons helpen ArrayList te definiëren, biedt de klasse ArrayList in Java ook een volwaardige functie-API die bestaat uit methoden die worden gebruikt om ArrayList-objecten te manipuleren.
Bekijk hier ALLE Java-tutorials.
Met deze methoden kunnen we elementen in de ArrayList toevoegen, verwijderen en doorzoeken, evenals de lengte / grootte van ArrayList-elementen, enz. Ophalen.
In deze tutorial zullen we deze methoden in detail bespreken met eenvoudige programmeervoorbeelden.
Wat je leert:
- ArrayList-methoden in Java
- ArrayList toevoegen
- ArrayList addAll
- ArrayList toevoegen aan de voorkant
- ArrayList verwijderen
- ArrayList removeAll
- ArrayList removeRange
- ArrayList-grootte (lengte)
- ArrayList bevat
- ArrayList get
- ArrayList set (vervang element)
- ArrayList duidelijk
- ArrayList isLeeg
- ArrayList indexOf
- ArrayList lastIndexOf
- ArrayList toArray
- ArrayList-kloon
- ArrayList subList
- ArrayList behoudenAll
- ArrayList Iterator
- ArrayList listIterator
- Array toevoegen aan ArrayList in Java
- Sorteer ArrayList in Java
- Keer een ArrayList in Java om
- Verwijder duplicaten uit een ArrayList in Java
- Shuffle (Randomize) een ArrayList in Java
- Veel Gestelde Vragen
- Gevolgtrekking
ArrayList-methoden in Java
De volgende tabel bevat alle methoden die worden geboden door de klasse ArrayList.
Methode | Methode Prototype | Methode Beschrijving |
---|---|---|
Bevat | boolean bevat (Object o) | Controleert of de lijst het gegeven element ‘o’ bevat. Geeft true terug als het element aanwezig is. |
Toevoegen | boolean add (E e) | Voegt gegeven element e toe aan het einde van de lijst. |
void add (int index, E element) | Voegt het gegeven element ‘element’ toe op de opgegeven positie ‘index’. | |
Voeg alles toe | boolean addAll (verzameling c) | Voegt alle elementen in de gegeven verzameling c toe aan het einde van de lijst. |
boolean addAll (int index, verzameling c) | Voegt alle elementen in de gegeven verzameling c toe op de positie die wordt gespecificeerd door de ‘index’ in de lijst. | |
Doorzichtig | leegte duidelijk () | Wist de lijst door alle elementen uit de lijst te verwijderen. |
Kloon | Object kloon () | Maakt een ondiepe kopie van de opgegeven ArrayList. |
verzekerenCapaciteit | void sureCapacity (int minCapacity) | Vergroot de capaciteit van de ArrayList om ervoor te zorgen dat deze de minCapacity heeft. |
Krijgen | E get (int index) | Retourneert het element in de lijst dat aanwezig is op de positie gespecificeerd door ‘index’. |
index van | int indexOf (Object o) | Retourneert de index van de eerste keer dat element o in de lijst voorkomt. -1 als element o niet in de lijst voorkomt. |
is leeg | boolean isEmpty () | Controleert of de opgegeven lijst leeg is. |
Iterator | Iterator iterator () | Geeft een iterator terug om de lijstelementen in de juiste volgorde te doorlopen. |
lastIndexOf | int lastIndexOf (Object o) | Retourneert de index van de laatste keer dat het opgegeven element o in de lijst voorkomt. -1 als het element niet in de lijst voorkomt. |
listIterator | ListIterator lijstIterator () | Geeft een lijst-iterator terug om de elementen van de gegeven lijst te doorlopen. |
ListIterator listIterator (int index) | Geeft de lijst-iterator terug vanaf de opgegeven positie ‘index’ om de elementen van de gegeven lijst te doorlopen. | |
verwijderen | E verwijderen (int index) | Verwijdert element op de ‘index’ in de ArrayList. |
boolean remove (Object o) | Verwijdert het eerste exemplaar van element o uit de lijst. | |
Verwijder alles | boolean removeAll (Collectie c) | Verwijdert alle elementen uit de lijst die overeenkomen met de elementen in de gegeven verzameling c. |
removeRange | beschermde ongeldige removeRange (int fromIndex, int toIndex) | Verwijdert elementen gespecificeerd in het opgegeven bereik, fromIndex (inclusief) tot toIndex (exclusief) uit de lijst. |
keepAll | boolean behoudenAll (verzameling c) | Behoudt die elementen in de lijst die overeenkomen met de elementen in de gegeven verzameling c. |
set | E set (int index, E element) | Stelt de elementwaarde bij de gegeven ‘index’ in op de nieuwe waarde gegeven door ‘element’. |
grootte | int maat () | Retourneert het totale aantal elementen of de lengte van de lijst. |
subList | Lijst subLijst (int fromIndex, int toIndex) | Geeft een subList terug tussen het opgegeven bereik, fromIndex tot toIndex voor de opgegeven lijst. |
toArray | Object [] toArray () | Converteert de gegeven lijst naar een array. |
T [] toArray (T [] a) | Converteert de gegeven lijst naar een array van het type gegeven door een. | |
trimToSize | leegte trimToSize () | Trimt de ArrayList-capaciteit tot de grootte of het aantal elementen in de lijst. |
Vervolgens zullen we elk van deze methoden van de ArrayList-functie-API in detail bespreken en programmeervoorbeelden presenteren. Nadat we alle hierboven genoemde methoden hebben besproken, zullen we ook enkele specifieke bewerkingen uitvoeren die worden uitgevoerd met ArrayLists die geen deel uitmaken van de ArrayList-functie-API.
ArrayList toevoegen
ik
Voorlopig ontwerp: boolean add (E e)
Parameters: e => Element dat aan de ArrayList moet worden toegevoegd.
Winstwaarde: true => Element succesvol toegevoegd.
Omschrijving: Voegt het gegeven element e toe aan het einde van de lijst.
II.
Voorlopig ontwerp: void add (int index, E element)
Parameters:
index => Positie waarop het element moet worden toegevoegd.
Element => Element dat aan de ArrayList moet worden toegevoegd.
Winstwaarde: leegte
Omschrijving: Voegt een gegeven element ‘element’ toe op de gespecificeerde positie ‘index’ door het element op die positie te verschuiven en de volgende elementen naar rechts.
Uitzonderingen: IndexOutOfBoundsException => Als de opgegeven index buiten het bereik valt.
ArrayList addAll
ik
Voorlopig ontwerp: boolean addAll (verzameling c)
Parameters: c => Verzameling waarvan de elementen moeten worden toegevoegd aan de ArrayList.
Winstwaarde: true => Als de operatie de ArrayList.
Omschrijving: Voegt alle elementen in de gegeven verzameling c toe aan het einde van de lijst. Het resultaat van de bewerking is niet gedefinieerd als de verzameling wordt gewijzigd terwijl de bewerking wordt uitgevoerd.
Uitzonderingen: NullPointerException => Als gegeven collectie c null is.
yl
Voorlopig ontwerp: boolean addAll (int index, verzameling c)
Parameters: index => Positie waarop de elementen in de gegeven collectie moeten worden toegevoegd.
Winstwaarde: true => Als de lijst is gewijzigd als resultaat van de bewerking.
Omschrijving: Voegt alle elementen in de gegeven verzameling c toe op de positie die wordt gespecificeerd door de ‘index’ in de lijst. Het element met de opgegeven index en de daaropvolgende elementen worden naar rechts verschoven. Het resultaat van de bewerking is niet gedefinieerd als de collectie die wordt toegevoegd, wordt gewijzigd terwijl de bewerking wordt uitgevoerd.
Uitzonderingen: IndexOutOfBoundsException: als de index waar de collectie moet worden toegevoegd buiten het bereik is
NullPointerException: als de gegeven verzameling c null is.
Het volgende Java-programma demonstreert het gebruik van add- en addAll-methoden.
Uitgang:
Initiële ArrayList: [Delhi, Mumbai, Chennai, Kolkata]
rrayList na het toevoegen van element bij index 1: [Delhi, NYC, Mumbai, Chennai, Kolkata]
ArrayList nadat lijst is toegevoegd aan index 4: [Delhi, NYC, Mumbai, Chennai, Pune, Hyderabad, Kolkata]
Het bovenstaande programma gebruikt beide versies van de add-methode om elementen aan de lijst toe te voegen. Het voegt ook een verzameling toe aan de lijst bij de opgegeven index. Let op de verschuiving van elementen naar rechts van de ArrayList, zoals blijkt uit de uitvoer van het programma.
c ++ sorteeralgoritme voor samenvoegen
ArrayList toevoegen aan de voorkant
Zoals eerder vermeld, voegt de eerste versie van de add-methode de elementen toe aan het einde van de lijst. Als je de elementen aan het begin van de ArrayList wilt toevoegen, dan moet je gebruik maken van de tweede versie van de add-methode. Deze add-methode neemt een index als parameter. Deze index is de positie waarop het element moet worden toegevoegd.
Om het element aan het begin van de lijst toe te voegen, moet u de index opgeven als 0, wat het begin van de lijst is.
Het volgende programma voegt een element toe aan de voorkant van de ArrayList.
Uitgang:
Initiële ArrayList:
[5, 7, 9]
ArrayList na het toevoegen van elementen aan het begin:
[1, 3, 5, 7, 9]
ArrayList verwijderen
IK.
Voorlopig ontwerp: E verwijderen (int index)
Parameters: index => Positie waarop het element van de ArrayList verwijderd moet worden.
Winstwaarde: E => Element dat is verwijderd
Omschrijving: Verwijdert element bij de ‘index’ in de ArrayList en verplaatst volgende elementen naar links.
Uitzonderingen: IndexOutOfBoundsException => De opgegeven index valt buiten het bereik.
II.
Voorlopig ontwerp: boolean remove (Object o)
Parameters: o => Element dat verwijderd moet worden uit de ArrayList.
Winstwaarde: true => Als het element aanwezig is in de lijst.
Omschrijving: Verwijdert het eerste exemplaar van element o uit de lijst. Als het element niet in de lijst voorkomt, heeft deze bewerking geen effect. Nadat het element is verwijderd, worden de volgende elementen naar links verschoven.
ArrayList removeAll
Voorlopig ontwerp: boolean removeAll (Collectie c)
Parameters: c => Collectie waarvan de elementen overeenkomen met die van ArrayList en verwijderd moeten worden.
Winstwaarde: true => Als de ArrayList wordt gewijzigd door de bewerking.
Omschrijving: Verwijdert alle elementen uit de lijst die overeenkomen met de elementen in de gegeven verzameling c. Als gevolg hiervan worden de overgebleven elementen naar de linkerkant van de lijst verschoven.
Uitzonderingen: ClassCastException => Klasse is niet hetzelfde als die van de opgegeven verzameling, wat impliceert dat de klasse incompatibel is.
NullPointerException => Als de gegeven verzameling c null is; of als c een null-element heeft en het niet is toegestaan door de verzameling.
ArrayList removeRange
Voorlopig ontwerp: beschermde ongeldige removeRange (int fromIndex, int toIndex)
Parameters: fromIndex => Index van het startelement van het bereik dat moet worden verwijderd.
toIndex => Index van het element na het laatste element in het bereik dat moet worden verwijderd.
Winstwaarde: leegte
Omschrijving: Verwijdert elementen gespecificeerd in het opgegeven bereik, fromIndex (inclusief) tot toIndex (exclusief) uit de lijst. Deze bewerking verkort de lengte van de lijst met (toIndex-fromIndex). Deze bewerking heeft geen effect in het geval fromIndex = toIndex.
Uitzonderingen: IndexOutOfBoundsException => Als een van de indices (fromIndex of toIndex) buiten het bereik is.
Laten we een Java-programma implementeren om enkele van deze verwijderingsmethoden te demonstreren die we hierboven hebben besproken.
Uitgang:
Initial ArrayList: [Delhi, Mumbai, Chennai, Kolkata, Pune, Hyderabad
ArrayList na verwijderen van element bij index 2: [Delhi, Mumbai, Kolkata, Pune, Hyderabad]
ArrayList na verwijderen van element -> Kolkata: [Delhi, Mumbai, Pune, Hyderabad]
ArrayList na aanroep om removeAll: [Mumbai, Pune]
ArrayList-grootte (lengte)
Voorlopig ontwerp: int maat ()
Parameters: NIL
Winstwaarde: int => Aantal elementen in de ArrayList.
Omschrijving: Retourneert het totale aantal elementen of de lengte van de ArrayList.
Zorg voor capaciteit
Voorlopig ontwerp: void sureCapacity (int minCapacity)
Parameters: minCapacity => De minimum gewenste capaciteit voor de ArrayList.
Winstwaarde: leegte
Omschrijving: Vergroot de capaciteit van de ArrayList om ervoor te zorgen dat deze de minCapacity heeft.
trimToSize
Voorlopig ontwerp: leegte trimToSize ()
Parameters: NIL
Winstwaarde: leegte
Omschrijving: Trimt de ArrayList-capaciteit tot de grootte of het aantal elementen in de lijst.
Het onderstaande programmeervoorbeeld toont de methoden size (), sureCapacity () en trimToSize ().
Uitgang:
Oorspronkelijke grootte: 0
Oorspronkelijke lijst: [2, 4, 6, 8, 10]
Grootte van ArrayList na toevoegen: 5
ArrayList Size na sureCapacity () aanroep en bewerking toevoegen: 7
Grootte van ArrayList na bewerking van trimToSize (): 7
ArrayList definitief:
2 4 6 8 10 12 14
ArrayList bevat
Voorlopig ontwerp: boolean bevat (Object o)
Parameters: o => Element dat moet worden gecontroleerd indien aanwezig in de ArrayList.
Winstwaarde: true => Als de ArrayList element o bevat.
Omschrijving: Controleert of de lijst het gegeven element ‘o’ bevat. Geeft true terug als het element aanwezig is.
In het volgende programma maken we gebruik van de ‘bevat’ -methode.
Uitgang:
ArrayList bevat (‘Red Green’): false
ArrayList bevat (‘Blue’): true
ArrayList bevat (‘Geel’): false
ArrayList bevat (‘White’): true
Zoals getoond in de bovenstaande uitvoer, controleert de ‘contains’ -methode of het opgegeven argument aanwezig is in de ArrayList en retourneert true of false.
ArrayList get
Voorlopig ontwerp: E get (int index)
Parameters: index => Index waarbij element moet worden opgehaald uit de ArrayList.
Winstwaarde: E => Elementwaarde bij de opgegeven index in de ArrayList.
Omschrijving: Retourneert het element in de lijst dat aanwezig is op de positie gespecificeerd door ‘index’.
Uitzonderingen: IndexOutOfBoundsException => Als index buiten het bereik is.
ArrayList set (vervang element)
Voorlopig ontwerp: E set (int index, E element)
Parameters: index => Index waarbij het element moet worden vervangen.
Element => Nieuw element dat moet worden ingesteld op de opgegeven index.
Winstwaarde: E => Element dat wordt vervangen door de ingestelde bewerking.
Omschrijving: Stelt de elementwaarde bij de gegeven ‘index’ in op de nieuwe waarde die wordt gegeven door ‘element’.
Uitzonderingen: IndexOutOfBoundsException => Als index buiten het bereik is
Het onderstaande Java-programma gebruikt de methode get () en set () om waarden in de ArrayList op te halen en te vervangen.
Uitgang:
Invoer op index 2 voor oproep naar set: blauw
Invoer op index 2 na oproep om in te stellen: Geel
ArrayList duidelijk
Voorlopig ontwerp: leegte duidelijk ()
Parameters: NIL
Winstwaarde: leegte
Omschrijving: Wist de lijst door alle elementen uit de lijst te verwijderen.
ArrayList isLeeg
Voorlopig ontwerp: boolean isEmpty ()
Parameters: NIL
Winstwaarde: true => als lijst leeg is
Omschrijving: Controleert of de opgegeven lijst leeg is.
De functies Clear () en isEmpty () worden hieronder gedemonstreerd.
Uitgang:
The ArrayList: [Rood, Groen, Blauw, Wit]
Is ArrayList leeg na clear ()? : waar
ArrayList indexOf
Voorlopig ontwerp: int indexOf (Object o)
Parameters: o => Element waarvan de index te vinden is in de ArrayList.
Winstwaarde: int => Index van het eerste voorkomen van het element in de lijst.
Omschrijving: Retourneert de index van de eerste keer dat het element o in de lijst voorkomt. -1 als het element o niet in de lijst voorkomt.
ArrayList lastIndexOf
Voorlopig ontwerp: int lastIndexOf (Object o)
Parameters: o => Het element waarnaar gezocht moet worden.
Winstwaarde: int => Index van de laatste keer dat het element in de lijst voorkomt.
Omschrijving: Retourneert de index van de laatste keer dat het opgegeven element o in de lijst voorkomt. -1 als het element niet in de lijst voorkomt.
Het onderstaande Java-programma demonstreert de methoden indexOf en lastIndexOf van ArrayList.
Uitgang:
De ArrayList: [1, 1, 2, 3, 5, 3, 2, 1, 1]
indexOf (1): 0
lastIndexOf (1): 8
index van (2): 2
lastIndexOf (2): 6
index van (3): 3
lastIndexOf (3): 5
indexOf (5): 4
lastIndexOf (5): 4
ArrayList toArray
Voorlopig ontwerp: Object [] toArray ()
Parameters: NIL
Winstwaarde: Object [] => een array. Deze geretourneerde array bevat alle elementen van de lijst in de juiste volgorde.
Omschrijving: Converteert de gegeven lijst naar een array.
Voorlopig ontwerp: T [] toArray (T [] a)
Parameters: a => Array om elementen van de lijst op te slaan. Als de grootte van de array niet voldoende is voor lijstelementen, wordt een andere array met hetzelfde type als a gemaakt voor het opslaan van elementen.
Winstwaarde: T [] => Array die alle lijstelementen bevat.
Omschrijving: Converteert de gegeven lijst naar een array van het type gegeven door een.
Uitzonderingen: ArrayStoreException => Als er een mismatch is in het runtime-type van de array en het runtime-type of supertype van de elementen.
NullPointerException => De opgegeven array is null
Het onderstaande Java-programma demonstreert de toArray-methode van ArrayList.
Uitgang:
ArrayList: [10, 20, 30, 40, 50]
Matrix van ArrayList: [10, 20, 30, 40, 50]
ArrayList-kloon
Voorlopig ontwerp: Object kloon ()
Parameters: NIL
Winstwaarde: Object => Kloon van de ArrayList-instantie.
Omschrijving: Maakt een ondiepe kopie van de opgegeven ArrayList.
Uitgang:
Original ArrayList: [Appel, Sinaasappel, Meloen, Druiven]
Cloned ArrayList: [Appel, Sinaasappel, Meloen, Druiven]
Originele ArrayList na toevoegen en verwijderen: [Apple, Melon, Grapes, Mango]
Gekloonde ArrayList nadat het origineel is gewijzigd: [Appel, Sinaasappel, Meloen, Druiven]
Uit de bovenstaande programma-uitvoer kun je zien dat de gekloonde ArrayList een ondiepe kopie is van de originele ArrayList. Dit betekent dat wanneer de originele ArrayList wordt gewijzigd, deze wijzigingen niet worden weerspiegeld in de gekloonde ArrayList, aangezien ze niet de geheugenlocaties van elk element delen.
Om een diepe kopie van Array te maken, moet de originele ArrayList worden doorlopen en elk van zijn elementen moet naar de doel-ArrayList worden gekopieerd.
ArrayList subList
Voorlopig ontwerp: Lijst subLijst (int fromIndex, int toIndex)
Parameters: fromIndex => Startindex van het bereik (inclusief)
toIndex => Eindindex van het bereik (exclusief)
Winstwaarde: List => Sublijst van de lijst in het opgegeven bereik.
Omschrijving: Geeft een subList terug tussen een gegeven bereik, vanIndex tot index voor de gegeven lijst. Merk op dat deze sublijst of de weergave van de lijst in het opgegeven bereik alle bewerkingen ondersteunt die door de lijst worden ondersteund. Er wordt geen weergave geretourneerd als fromIndex = toIndex.
Uitzonderingen: IndexOutOfBoundsException => Gegooid wanneer toIndex buiten bereik is.
IllegalArgumentException => If fromIndex> toIndex, d.w.z. indices zijn niet in orde.
Laten we een voorbeeld bekijken van de methode subList.
Uitgang:
Originele ArrayList: [5, 10, 15, 20, 25, 30, 35, 40, 45, 50]
Sublist van bepaalde ArrayList: [15, 20, 25, 30]
ArrayList behoudenAll
Voorlopig ontwerp: boolean behoudenAll (verzameling c)
Parameters: c => Verzameling met elementen die in de lijst behouden moeten blijven.
Winstwaarde: true => Als de ArrayList is gewijzigd als resultaat van de bewerking.
Omschrijving: Behoudt die elementen in de lijst die overeenkomen met de elementen in de gegeven verzameling c.
Uitzonderingen: ClassCastException => Het verzamelingstype en het lijsttype komen niet overeen
NullPointerException => Gegeven verzameling is null of de lijst bevat een null-element en verzameling staat geen null-waarden toe.
Het volgende programma demonstreert de methode behoudenAll.
Uitgang:
Original ArrayList: [Rood, Groen, Blauw, Geel]
Verzamelelementen die in de lijst moeten worden bewaard: [Rood, Blauw]
ArrayList na keepAll-oproep: [rood, blauw]
ArrayList Iterator
Voorlopig ontwerp: Iterator iterator ()
Parameters: NIL
Winstwaarde: Iterator => iterator over de lijstelementen.
Omschrijving: Geeft een iterator terug om de lijstelementen in de juiste volgorde te doorlopen.
ArrayList listIterator
IK.
Voorlopig ontwerp: ListIterator lijstIterator ()
Parameters: NIL
Winstwaarde: ListIterator => listIterator over de lijstelementen.
Omschrijving: Geeft een lijst-iterator terug om de elementen van de gegeven lijst te doorlopen.
II.
Voorlopig ontwerp: ListIterator listIterator (int index)
Parameters: index => Positie van het eerste element in de listIterator.
Winstwaarde: ListIterator => ListIterator voor de lijst van de opgegeven index.
Omschrijving: Geeft de lijst-iterator terug vanaf de opgegeven positie ‘index’ om de elementen van de gegeven lijst te doorlopen.
Uitzonderingen: IndexOutOfBoundsException => Gegeven index is buiten bereik.
Voorbeeld van iterator () en listIterator () methoden.
Uitgang:
Geef de inhoud weer met de methode Iterator ():
Mumbai Pune Hyderabad Delhi
Inhoud weergeven met de methode listIterator ():
Mumbai Pune Hyderabad Delhi
Array toevoegen aan ArrayList in Java
ArrayList ondersteunt de addAll-methode om elementen van de collectie aan de ArrayList toe te voegen. Op dezelfde manier kunt u ook een Array aan de ArrayList toevoegen. Dit wordt gedaan met behulp van de ‘Collections.addAll’ -methode.
Voorbeeld van het toevoegen van een array aan de ArrayList.
Uitgang:
Initiële ArrayList: [Delhi, Mumbai, Chennai, Kolkata]
ArrayList na toevoeging van array: [Delhi, Mumbai, Chennai, Kolkata, Cochin, Goa]
Sorteer ArrayList in Java
ArrayList gebruikt de methode Collections.sort om de elementen te sorteren. Standaard wordt de lijst in oplopende volgorde gesorteerd volgens de methode Collections.sort. Als de ArrayList in aflopende volgorde moet worden gesorteerd, moet u ‘Collections.reverseOrder ()’ een parameter voor de sorteermethode opgeven.
Hieronder is een programma weergegeven om een ArrayList in oplopende en aflopende volgorde te sorteren:
Uitgang:
Initial ArrayList: [Rood, Groen, Blauw, Geel]
ArrayList gesorteerd in oplopende volgorde:
[Blauw, Groen, Rood, Geel]
ArrayList gesorteerd in aflopende volgorde:
[Geel, Rood, Groen, Blauw]
Indien de ArrayList andere klasseobjecten als elementen bevat, dan kunt u gebruik maken van Comparable en Comparator interfaces. Meer details over interfaces zullen worden behandeld in onze latere tutorials.
Keer een ArrayList in Java om
U kunt ook een ArrayList in Java omkeren. Een methode om dit te doen is om de traditionele methode te gebruiken om de ArrayList in omgekeerde volgorde te doorlopen en elk element naar een nieuwe ArrayList te kopiëren.
Een andere methode is het gebruik van de klasse Collections, die de ‘reverse’ methode biedt die wordt gebruikt om een collectie om te keren.
Het programma om een ArrayList om te keren met de klasse Collections wordt hieronder gegeven.
Uitgang:
Initiële ArrayList: [1, 3, 5, 7, 9]
Reversed ArrayList: [9, 7, 5, 3, 1]
Verwijder duplicaten uit een ArrayList in Java
Om duplicaten van de ArrayList te verwijderen, kunt u opnieuw uw toevlucht nemen tot de traditionele methode om een iterator te gebruiken om door de ArrayList te lopen en alleen het eerste exemplaar van het element in een andere ArrayList op te slaan.
Nog een andere methode is door de ‘distinct ()’ -methode van stream () class te gebruiken. Deze methode retourneert een stroom van verschillende elementen. De stream () -functie is beschikbaar in Java vanaf Java 8.
De implementatie van de stream () .distinct () methode wordt hieronder gegeven:
Uitgang:
Originele ArrayList: [1, 2, 3, 1, 3, 5, 5, 6, 6, 7, 7, 8, 8]
ArrayList zonder duplicaten: [1, 2, 3, 5, 6, 7, 8]
Shuffle (Randomize) een ArrayList in Java
U kunt de ArrayList-elementen ook in willekeurige volgorde afspelen of willekeurig maken. Dit wordt gedaan met behulp van de methode Collections.shuffle (). Met deze methode kun je ofwel de ArrayList in willekeurige volgorde afspelen met de standaardinstellingen of een random () -functie opgeven die de elementen willekeurig verdeelt volgens de opgegeven willekeurige waarde.
Een Java-programma om dit te bereiken wordt hieronder gegeven.
Uitgang:
Original ArrayList: [oost, west, noord, zuid, zuidwest, noordoost] Shuffled ArrayList zonder willekeurig (): [noord, noordoost, oost, zuidwest, zuid, west]
ArrayList met willekeurige volgorde (): [zuid, oost, noord, noordoost, west, zuidwest]
Shuffled ArrayList met Random (2): [zuidwesten, zuid, oost, noordoost, noord, west]
Veel Gestelde Vragen
V # 1) Wat is het verschil tussen homogene en heterogene containers in Java?
Antwoord: Homogene containers bevatten objecten / elementen van hetzelfde type. Aan de andere kant hebben heterogene containers objecten van een gemengd type.
Q # 2) Is ArrayList in Java heterogeen?
Antwoord: Ja. Aangezien ArrayLists generieke en dus typeverwijdering ondersteunen, kan het gemengde objecten bevatten wanneer het wordt geïmplementeerd als een generieke ArrayList.
Vraag 3 Kan ArrayList int opslaan?
Antwoord: Nee. ArrayLists kunnen geen waarden zoals int opslaan, maar het kan Integer-objecten opslaan, aangezien ArrayLists alleen objecten kan bevatten. Om primitieve typen op te slaan, moet u dus wrapper-klassen gebruiken zoals Integer voor ints.
Vraag 4 Wat gebeurt er als ArrayList vol is?
Antwoord: Elk ArrayList-object heeft een functie met de naam ‘capacity’. Als de ArrayList vol is, neemt de capaciteit van de ArrayList automatisch toe om ruimte te maken voor meer elementen.
Vraag 5 Wat is het verschil tussen de methode removeAll en behoudenAll in ArrayList?
Antwoord: De ArrayList-methoden ‘removeAll’ en ‘behoudenAll’ vertonen tegengesteld gedrag.
Terwijl de methode removeAll alle elementen uit de lijst verwijdert die overeenkomen met de verzameling die als argument aan deze methode is doorgegeven, behoudt behoudenAll daarentegen alle elementen in de lijst die overeenkomen met die van de verzameling.
Gevolgtrekking
In deze tutorial hebben we ArrayList-methoden in detail besproken met een voorbeeld.
We hebben ook een aantal speciale gevallen overwogen, zoals het toevoegen van elementen aan de voorkant van de lijst. We hebben ook andere bewerkingen op ArrayList besproken, zoals sorteren, omkeren en schudden van ArrayList.
In onze aanstaande tutorial zullen we enkele van de ArrayList-conversies bespreken.
Bekijk hier de eenvoudige Java-trainingsserie.
Aanbevolen literatuur
- Zelfstudie over reflectie in Java met voorbeelden
- Zelfstudie over Java String | Java String-methoden met voorbeelden
- Java-lijstmethoden - lijst sorteren, bevat, lijst toevoegen, lijst verwijderen
- Java ArrayList - Een ArrayList declareren, initialiseren en afdrukken
- Java ArrayList-conversies naar andere verzamelingen
- Java SWING-zelfstudie: afhandeling van containers, componenten en gebeurtenissen
- Keer een array in Java om - 3 methoden met voorbeelden
- JAVA-zelfstudie voor beginners: 100+ praktische Java-videotutorials