logo

Iterācija, izmantojot ArrayLists Java

ArrayList ir daļa no kolekcijas ietvars un atrodas java.util pakotnē. Tas nodrošina mums dinamiskus masīvus Java. Tomēr tas var būt lēnāks nekā standarta masīvi, taču tas var būt noderīgs programmās, kurās ir nepieciešams daudz manipulēt ar masīvu. Šī klase ir atrodama java.util iepakojums.

Ieviešot un jauninot java versijas, ir pieejamas jaunākas metodes, it kā mēs redzam, ka no Java8 uztverošās lambda izteiksmes un straumes koncepcijas nebija pieejamas pirms tās, jo tās tika ieviestas java versijā8.



Metodes:

pārvērst virkni uz json java
  1. Izmantojot cilpas
  2. Lietojot kamēr
  3. Izmantojot katrai cilpai
  4. Izmantojot Iteratoru
  5. Lambda izteiksmju izmantošana (tikai pēc Java8)
  6. Uzskaitīšanas interfeisa izmantošana

Apspriedīsim šīs metodes, no kurām uzreiz mēs varam uztvert, ka trīs metodes ir vienkārši naivas pieejas, un turpmākajām metodēm ir zināma optimizācija. Atcerieties šeit, lai gan elementu šķērsošana ir mazāka, mēs parasti atkārtojam, izmantojot naivu pieeju, tikai pretējā gadījumā, ja ievietojamo elementu izmērs ir liels, mēs izmantojam optimālas pieejas. Ļaujiet mums ātri iesaiņot katru no iepriekšminētajām pieejām.

1. metode: Izmantojot cilpu



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 skaitļi = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8);  // Iterēšana, izmantojot for cilpu for (int i = 0; i< numbers.size(); i++)     // Printing and display the elements in ArrayList   System.out.print(numbers.get(i) + ' ');   } }>

Izvade
1 2 3 4 5 6 7 8>

2. metode: Izmantojot cilpu while

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 = jauns ArrayList ();  // Elementu pievienošana ArrayList // izmantojot add() metodi al.add(3);  al.add(1);  al.add(7);  al.add(20);  al.add(5);  // 1. darbība: mainīgā iestatīšana un inicializācija // saskaņā ar while cilpas sintakse // Sākotnējā deklarēšana un iestatīšana int val = 0;  // 2. darbība: nosacījums // Līdz mūsu skaitītāja mainīgais ir mazāks par lielumu // ArrayList while (al.size()> val) { // Elementa drukāšana, kas ir virs // nosacījums true System.out.println(al .get(val));  // 3. darbība. Nosacījuma beigšana, palielinot // mūsu skaitītāju katrā iterācijā val++ ;  } } }>

Izvade
3 1 7 20 5>

3. metode: Izmantojot katrai cilpai

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 skaitļi = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8);  // Katrai cilpai atkārtotai ArrayList for (Integer i : skaitļi) // ArrayList elementu drukāšana System.out.print(i + ' ');  } }>

Izvade
1 2 3 4 5 6 7 8>

4. metode: Izmantojot Iteratoru



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 skaitļi = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8);  // ArrayList atkārtošana, izmantojot Iterator Iterator it = numbers.iterator();  // Turas spēkā, līdz sarakstā paliek viens elements // while (it.hasNext()) // Drukāt ArrayList elementus System.out.print(it.next() + ' ');  } }>

Izvade
1 2 3 4 5 6 7 8>

5. metode: Lambda izteiksmju izmantošana

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 skaitļi = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8);  // Skaitļu drukāšana, izmantojot lambda izteiksmes // vēlāk ieviesta java8 numbers.forEach(number->System.out.println(number));  } }>

Izvade
1 2 3 4 5 6 7 8>

6. metode: Uzskaitīšanas interfeisa izmantošana

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 = jauns ArrayList ();  // Elementu pievienošana ArrayList al.add(34);  al.add(12);  al.add(34);  al.add(23);  al.add(54);  // Uzskaites objekta iegūšana Uzskaitījums e = Collections.enumeration(al);  // Till elementi ir tur kamēr (e.hasMoreElements()) // Drukāt elementus, izmantojot nextElement() metodi System.out.println(e.nextElement());  } }>

Izvade
34 12 34 23 54>

Tagad tas ir papildu papildinājums rakstam, jo ​​mēs esam pabeiguši apspriest visas metodes, kuras var izmantot, lai atkārtotu elementus. Līdz šim mēs esam šķērsojuši tikai ievades elementus un neesam redzējuši, kā būtu, ja mēs spēlētu ar elementiem, tāpēc mēs apsveram

Piemērs

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 = jauns ArrayList ();  al.add(10);  al.add(20);  al.add(30);  al.add(1);  al.add(2);  // Noņemiet elementus, kas ir mazāki par 10, izmantojot // Iterator.remove() Iterator itr = al.iterator();  while (itr.hasNext()) { int x = (Integer)itr.next();  ja (x< 10)  itr.remove();  }  System.out.println('Modified ArrayList : '  + al);  } }>

Izvade
Modified ArrayList : [10, 20, 30]>

Vienumu noņemšana pārvietošanas laikā: Atkārtojot elementus, nav ieteicams izmantot ArrayList.remove(). Tas var novest pie ConcurrentModificationException (Atsaukties uz šis paraugprogrammai ar šo izņēmumu). Atkārtojot elementus, ieteicams izmantot Iterator.remove() metodi.