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
- Izmantojot cilpas
- Lietojot kamēr
- Izmantojot katrai cilpai
- Izmantojot Iteratoru
- Lambda izteiksmju izmantošana (tikai pēc Java8)
- 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.