ArrayList er en del av innsamlingsramme og finnes i java.util-pakken. Det gir oss dynamiske arrays i Java. Skjønt, det kan være tregere enn standard arrays, men kan være nyttig i programmer der mye manipulasjon i arrayen er nødvendig. Denne klassen finnes i java.util pakke.
Med introduksjonen og oppgraderingene i java-versjoner blir nyere metoder tilgjengelig som om vi ser fra Java8 at oppfattende lambda-uttrykk og strømmekonsepter ikke var tilgjengelige før det ble introdusert i java-versjon8.
Metoder:
java konvertere char til streng
- Brukes til løkker
- Bruker mens
- Bruker for hver løkke
- Bruker Iterator
- Bruke Lambda-uttrykk (bare etter Java8)
- Bruke Enumeration-grensesnittet
La oss diskutere disse metodene som vi umiddelbart kan oppfatte. Start tre metoder er ganske enkelt de naive tilnærmingene og videre metoder har en viss optimering med seg. Husk her, mens kryssende elementer er mindre, har vi vanligvis en tendens til å iterere via naiv tilnærming, bare hvis størrelsen på elementene som skal settes inn er stor, bruker vi optimale tilnærminger. La oss pakke hver av de ovennevnte tilnærmingene raskt.
Metode 1: Brukes for loop
Java
// Java program to iterate over an ArrayList // Using for loop // Importing all utility classes import java.util.*; // Main class class GFG { // Main driver method public static void main(String[] args) { // Creating and initializing the ArrayList // Declaring object of integer type List tall = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8); // Iterering med for loop for (int i = 0; i< numbers.size(); i++) // Printing and display the elements in ArrayList System.out.print(numbers.get(i) + ' '); } }> Produksjon
1 2 3 4 5 6 7 8>
Metode 2: Bruker while-løkke
Java // Java Program to Illustrate ArrayList // Using While Loop // Importing required classes import java.util.ArrayList ; // Main class public class GFG { // Main driver method public static void main(String[] args) { // Creating and initializing the ArrayList // Declaring object of integer type ArrayList al = ny ArrayList (); // Legge til elementer til ArrayList // ved å bruke add()-metoden al.add(3); al.add(1); al.add(7); al.add(20); al.add(5); // Trinn 1: Innstilling og initialisering av en variabel // i henhold til syntaksen til while loop // Deklarerer og setter først int val = 0; // Trinn 2: Betingelse // Til vår tellervariabel er mindre enn størrelsen på // ArrayList while (al.size()> val) { // Skriver ut elementet som holder over // condition true System.out.println(al .get(val)); // Trinn 3: Avslutt betingelsen ved å øke // telleren vår i hver iterasjon val++ ; } } }> Produksjon
3 1 7 20 5>
Metode 3: Brukes for hver løkke
Java // Java Program to Iterate over Arraylist // using for Each loop // Importing all utility classes import java.util.*; // Main class class GFG { // Main driver method public static void main(String[] args) { // Declaring and initializing ArrayList List tall = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8); // For Every Loop for iterating ArrayList for (Integer i : numbers) // Skrive ut elementene til ArrayList System.out.print(i + ' '); } }> Produksjon
1 2 3 4 5 6 7 8>
Metode 4: Bruker Iterator
Java
// Java program to iterate over an ArrayList // Using Iterator // Importing all utility classes import java.util.*; // Main class class GFG { // Main driver method public static void main(String[] args) { // Declaring and initializing ArrayList List tall = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8); // Iterating ArrayList ved hjelp av Iterator Iterator it = tall.iterator(); // Gjelder til det er ett enkelt element // gjenværende i listen while (it.hasNext()) // Skriv ut elementene til ArrayList System.out.print(it.next() + ' '); } }> Produksjon
1 2 3 4 5 6 7 8>
Metode 5: Bruke Lambda-uttrykk
Java // Java program to iterate over an arraylist // using Iterator in Java8 with Lambda Expression // Importing all utility classes import java.util.*; // Main class class GFG { // Main driver method public static void main(String[] args) { // Declaring and initializing ArrayList // Custom input elements List tall = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8); // Skrive ut tall ved hjelp av lambda-uttrykk // blitt introdusert senere i java8 numbers.forEach(number->System.out.println(number)); } }> Produksjon
1 2 3 4 5 6 7 8>
Metode 6: Bruke Enumeration-grensesnittet
Java // Java Program to Iterate over ArrayList elements // Using Enumeration // Importing required classes import java.util.ArrayList; import java.util.Collections; import java.util.Enumeration; // Main class class GFG { // Main driver method public static void main(String[] args) { // Creating an ArrayList ArrayList al = ny ArrayList (); // Legge til elementer til ArrayList al.add(34); al.add(12); al.add(34); al.add(23); al.add(54); // Hente et oppregningsobjekt Oppregning e = Collections.enumeration(al); // Till-elementer er der while (e.hasMoreElements()) // Skriv ut elementer ved hjelp av nextElement()-metoden System.out.println(e.nextElement()); } }> Produksjon
34 12 34 23 54>
Nå er det et ytterligere additiv til artikkelen ettersom vi er ferdige med å diskutere alle metoder som kan brukes til å iterere over elementer. Til nå har vi bare krysset input-elementer og ikke sett traverseringen hva om vi leker med elementer, så vurderer vi
Eksempel
Java // Java program to demonstrate Working of // Iterator.remove() on Arraylist // Importing utility classes import java.util.List; import java.util.ArrayList; import java.util.Iterator; // Main class public class GFG { // Main driver method public static void main(String[] args) { // Creating a List with referenceto ArrayList List al = ny ArrayList (); al.add(10); al.add(20); al.add(30); al.add(1); al.add(2); // Fjern elementer mindre enn 10 ved å bruke // Iterator.remove() Iterator itr = al.iterator(); while (itr.hasNext()) { int x = (Heltall)itr.next(); hvis (x< 10) itr.remove(); } System.out.println('Modified ArrayList : ' + al); } }> Produksjon
Modified ArrayList : [10, 20, 30]>
Fjerning av gjenstander under gjennomkjøring: Det anbefales ikke å bruke ArrayList.remove() når du itererer over elementer. Dette kan føre til ConcurrentModificationException (Referere til dette for et eksempelprogram med dette unntaket). Ved iterasjon over elementer anbefales det å bruke Iterator.remove() metode.