logo

Kaip kartoti sąrašą Java

Java, Sąrašas yra sąsaja Kolekcijos sistema . Ji suteikia mums galimybę prižiūrėti užsakytą objektų kolekciją. Sąrašo sąsajos įgyvendinimo klasės yra ArrayList, LinkedList, Stack , ir Vektorius . „ArrayList“ ir „LinkedList“ yra plačiai naudojami Java . Šiame skyriuje mes išmoksime kaip kartoti sąrašą Java . Šiame skyriuje mes naudosime ArrayList .

Java for Loop

  1. „Basic for Loop“.
  2. Patobulinta Loop

Java Iteratoriai

  1. Iteratorius
  2. ListIterator

Java for Every Method

  1. Iterable.forEach()
  2. Stream.forEach()

Java for Loop

„Basic for Loop“.

Java for ciklus yra labiausiai paplitusi iteracijos srauto valdymo kilpa. For cikle yra kintamasis, kuris veikia kaip indekso numeris. Jis vykdomas tol, kol nesikartos visas sąrašas.

Sintaksė:

 for(initialization; condition; increment or decrement) { //body of the loop } 

IterateListExample1.java

 import java.util.*; public class IterateListExample1 { public static void main(String args[]) { //defining a List List city = Arrays.asList(&apos;Boston&apos;, &apos;San Diego&apos;, &apos;Las Vegas&apos;, &apos;Houston&apos;, &apos;Miami&apos;, &apos;Austin&apos;); //iterate list using for loop for (int i = 0; i <city.size(); i++) { prints the elements of list system.out.println(city.get(i)); } < pre> <p> <strong>Output</strong> </p> <pre> Boston San Diego Las Vegas Houston Miami Austin </pre> <h3>Enhanced for Loop</h3> <p>It is similar to the basic for loop. It is compact, easy, and readable. It is widely used to perform traversal over the List. It is easy in comparison to basic for loop.</p> <p> <strong>Syntax:</strong> </p> <pre> for(data_type variable : array | collection) { //body of the loop } </pre> <p> <strong>IterateListExample2.java</strong> </p> <pre> import java.util.*; public class IterateListExample2 { public static void main(String args[]) { //defining a List List city = Arrays.asList(&apos;Boston&apos;, &apos;San Diego&apos;, &apos;Las Vegas&apos;, &apos;Houston&apos;, &apos;Miami&apos;, &apos;Austin&apos;); //iteration over List using enhanced for loop for (String cities : city) { //prints the elements of the List System.out.println(cities); } } } </pre> <p> <strong>Output</strong> </p> <pre> Boston San Diego Las Vegas Houston Miami Austin </pre> <h2>Java Iterator</h2> <h3>Iterator</h3> <p> <a href="/iterator-java">Java provides an interface Iterator</a> to <strong>iterate</strong> over the Collections, such as List, Map, etc. It contains two key methods next() and hasNaxt() that allows us to perform an iteration over the List.</p> <p> <strong>next():</strong> The next() method perform the iteration in forward order. It returns the next element in the List. It throws <strong>NoSuchElementException</strong> if the iteration does not contain the next element in the List. This method may be called repeatedly to iterate through the list, or intermixed with calls to previous() to go back and forth.</p> <p> <strong>Syntax:</strong> </p> <pre> E next() </pre> <p> <strong>hasNext():</strong> The hasNext() method helps us to find the last element of the List. It checks if the List has the next element or not. If the hasNext() method gets the element during traversing in the forward direction, returns true, else returns false and terminate the execution.</p> <p> <strong>Syntax:</strong> </p> <pre> boolean hasNext() </pre> <p> <strong>IterateListExample3.java</strong> </p> <pre> import java.util.*; public class IterateListExample3 { public static void main(String args[]) { //defining a List List city = Arrays.asList(&apos;Boston&apos;, &apos;San Diego&apos;, &apos;Las Vegas&apos;, &apos;Houston&apos;, &apos;Miami&apos;, &apos;Austin&apos;); //iterate List using enhances for loop Iterator cityIterator = city.iterator(); //iterator over List using while loop while(cityIterator.hasNext()) { System.out.println(cityIterator.next()); } } } </pre> <p> <strong>Output</strong> </p> <pre> Boston San Diego Las Vegas Houston Miami Austin </pre> <h3>ListIterator</h3> <p>The ListIterator is also an interface that belongs to java.util package. It extends <strong>Iterator</strong> interface. It allows us to iterate over the List either in forward or backward order. The forward iteration over the List provides the same mechanism, as used by the Iterator. We use the next() and hasNext() method of the Iterator interface to iterate over the List.</p> <p> <strong>IterateListExample4.java</strong> </p> <pre> import java.util.*; public class IterateListExample4 { public static void main(String args[]) { //defining a List List city = Arrays.asList(&apos;Boston&apos;, &apos;San Diego&apos;, &apos;Las Vegas&apos;, &apos;Houston&apos;, &apos;Miami&apos;, &apos;Austin&apos;); //iterate List using the ListIterator ListIterator listIterator = city.listIterator(); while(listIterator.hasNext()) { //prints the elements of the List System.out.println(listIterator.next()); } } } </pre> <p> <strong>Output</strong> </p> <pre> Boston San Diego Las Vegas Houston Miami Austin </pre> <h2>Java forEach Method</h2> <h3>Iterable.forEach()</h3> <p>The Iterable interface provides forEach() method to iterate over the List. It is available since Java 8. It performs the specified action for each element until all elements have been processed or the action throws an exception. It also accepts Lambda expressions as a parameter.</p> <p> <strong>Syntax:</strong> </p> <pre> default void forEach(Consumer action) </pre> <p>The default implementation behaves like:</p> <pre> for (T t : this) action.accept(t); </pre> <p>It accepts <strong>action</strong> as a parameter that is <strong>non-interfering</strong> (means that the data source is not modified at all during the execution of the stream pipeline) action to perform on the elements. It throws <strong>NullPointerException</strong> if the specified action is null.</p> <p>The <strong>Consumer</strong> is a functional interface that can be used as the assignment target for a lambda expression or method reference. T is the type of input to the operation. It represents an operation that accepts a single input argument and returns no result.</p> <p> <strong>IterateListExample5.java</strong> </p> <pre> import java.util.*; public class IterateListExample5 { public static void main(String args[]) { //defining a List List city = Arrays.asList(&apos;Boston&apos;, &apos;San Diego&apos;, &apos;Las Vegas&apos;, &apos;Houston&apos;, &apos;Miami&apos;, &apos;Austin&apos;); //iterate List using forEach city.forEach(System.out::println); } } </pre> <p> <strong>Output</strong> </p> <pre> Boston San Diego Las Vegas Houston Miami Austin </pre> <h3>Stream.forEach()</h3> <p>Java Stream interface allows us to convert the List values into a stream. With the help of Stream interface we can access operations like forEach(), map(), and filter().</p> <p> <strong>Syntax:</strong> </p> <pre> void forEach(Consumer action) </pre> <p>It accepts <strong>action</strong> as a parameter that is <strong>non-interfering</strong> (means that the data source is not modified at all during the execution of the stream pipeline) action to perform on the elements.</p> <p>The <strong>Consumer</strong> is a functional interface that can be used as the assignment target for a lambda expression or method reference. T is the type of input to the operation. It represents an operation that accepts a single input argument and returns no result.</p> <p> <strong>IterateListExample5.java</strong> </p> <pre> import java.util.*; public class IterateListExample5 { public static void main(String args[]) { //defining a List List city = Arrays.asList(&apos;Boston&apos;, &apos;San Diego&apos;, &apos;Las Vegas&apos;, &apos;Houston&apos;, &apos;Miami&apos;, &apos;Austin&apos;); //iterate List using forEach loop city.stream().forEach((c) -&gt; System.out.println(c)); } } </pre> <p> <strong>Output</strong> </p> <pre> Boston San Diego Las Vegas Houston Miami Austin </pre> <hr></city.size();>

Patobulinta Loop

Jis panašus į pagrindinį for kilpą. Jis yra kompaktiškas, lengvas ir skaitomas. Jis plačiai naudojamas norint pereiti per sąrašą. Tai lengva, palyginti su pagrindine kilpa.

Sintaksė:

 for(data_type variable : array | collection) { //body of the loop } 

IterateListExample2.java

pridedant eilutę Java
 import java.util.*; public class IterateListExample2 { public static void main(String args[]) { //defining a List List city = Arrays.asList(&apos;Boston&apos;, &apos;San Diego&apos;, &apos;Las Vegas&apos;, &apos;Houston&apos;, &apos;Miami&apos;, &apos;Austin&apos;); //iteration over List using enhanced for loop for (String cities : city) { //prints the elements of the List System.out.println(cities); } } } 

Išvestis

 Boston San Diego Las Vegas Houston Miami Austin 

Java Iteratorius

Iteratorius

„Java“ suteikia sąsajos iteratorių į kartoti per Kolekciją, pvz., Sąrašas, Žemėlapis ir kt. Jame yra du pagrindiniai metodai next() ir hasNaxt(), leidžiantys atlikti iteraciją sąraše.

Kitas(): Kitas() metodas atlieka iteraciją į priekį. Tai grąžina kitą sąrašo elementą. Tai meta NoSuchElementException jei iteracijoje nėra kito sąrašo elemento. Šis metodas gali būti iškviečiamas pakartotinai, kad būtų kartojamas sąrašas, arba maišomas su iškvietimais į previous(), kad būtų galima judėti pirmyn ir atgal.

Sintaksė:

 E next() 

hasNext (): HasNext() metodas padeda rasti paskutinį sąrašo elementą. Jis patikrina, ar sąraše yra kitas elementas, ar ne. Jei metodas hasNext() gauna elementą eidamas pirmyn, grąžina true, kitu atveju grąžina false ir nutraukia vykdymą.

Sintaksė:

 boolean hasNext() 

IterateListExample3.java

 import java.util.*; public class IterateListExample3 { public static void main(String args[]) { //defining a List List city = Arrays.asList(&apos;Boston&apos;, &apos;San Diego&apos;, &apos;Las Vegas&apos;, &apos;Houston&apos;, &apos;Miami&apos;, &apos;Austin&apos;); //iterate List using enhances for loop Iterator cityIterator = city.iterator(); //iterator over List using while loop while(cityIterator.hasNext()) { System.out.println(cityIterator.next()); } } } 

Išvestis

 Boston San Diego Las Vegas Houston Miami Austin 

ListIterator

ListIterator taip pat yra sąsaja, kuri priklauso java.util paketui. Jis tęsiasi Iteratorius sąsaja. Tai leidžia mums kartoti sąrašą pirmyn arba atgal. Pirminė iteracija sąraše suteikia tą patį mechanizmą, kurį naudoja iteratorius. Naudojame Iteratoriaus sąsajos metodus next() ir hasNext() norėdami kartoti sąrašą.

IterateListExample4.java

 import java.util.*; public class IterateListExample4 { public static void main(String args[]) { //defining a List List city = Arrays.asList(&apos;Boston&apos;, &apos;San Diego&apos;, &apos;Las Vegas&apos;, &apos;Houston&apos;, &apos;Miami&apos;, &apos;Austin&apos;); //iterate List using the ListIterator ListIterator listIterator = city.listIterator(); while(listIterator.hasNext()) { //prints the elements of the List System.out.println(listIterator.next()); } } } 

Išvestis

 Boston San Diego Las Vegas Houston Miami Austin 

Java for Every Method

Iterable.forEach()

Iterable sąsaja numato forEach() metodą, kad būtų galima kartoti sąrašą. Jis pasiekiamas nuo Java 8. Jis atlieka nurodytą veiksmą kiekvienam elementui, kol visi elementai bus apdoroti arba veiksmas padarys išimtį. Jis taip pat priima Lambda išraiškas kaip parametrą.

Sintaksė:

 default void forEach(Consumer action) 

Numatytasis diegimas veikia taip:

 for (T t : this) action.accept(t); 

Tai priima veiksmas kaip parametras, kuris yra nesikišantis (reiškia, kad duomenų šaltinis visai nekeičiamas vykdant srauto konvejerį) veiksmas, kurį reikia atlikti su elementais. Tai meta NullPointerException jei nurodytas veiksmas yra niekinis.

The Vartotojas yra funkcinė sąsaja, kurią galima naudoti kaip lambda išraiškos arba metodo nuorodos priskyrimo tikslą. T yra operacijos įvesties tipas. Tai reiškia operaciją, kuri priima vieną įvesties argumentą ir nepateikia rezultato.

IterateListExample5.java

 import java.util.*; public class IterateListExample5 { public static void main(String args[]) { //defining a List List city = Arrays.asList(&apos;Boston&apos;, &apos;San Diego&apos;, &apos;Las Vegas&apos;, &apos;Houston&apos;, &apos;Miami&apos;, &apos;Austin&apos;); //iterate List using forEach city.forEach(System.out::println); } } 

Išvestis

 Boston San Diego Las Vegas Houston Miami Austin 

Stream.forEach()

„Java Stream“ sąsaja leidžia konvertuoti sąrašo reikšmes į srautą. Naudodami Stream sąsają galime pasiekti tokias operacijas kaip forEach(), map() ir filter().

Sintaksė:

 void forEach(Consumer action) 

Tai priima veiksmas kaip parametras, kuris yra nesikišantis (reiškia, kad duomenų šaltinis visai nekeičiamas vykdant srauto konvejerį) veiksmas, kurį reikia atlikti su elementais.

The Vartotojas yra funkcinė sąsaja, kurią galima naudoti kaip lambda išraiškos arba metodo nuorodos priskyrimo tikslą. T yra operacijos įvesties tipas. Tai reiškia operaciją, kuri priima vieną įvesties argumentą ir nepateikia rezultato.

IterateListExample5.java

kas yra prologas
 import java.util.*; public class IterateListExample5 { public static void main(String args[]) { //defining a List List city = Arrays.asList(&apos;Boston&apos;, &apos;San Diego&apos;, &apos;Las Vegas&apos;, &apos;Houston&apos;, &apos;Miami&apos;, &apos;Austin&apos;); //iterate List using forEach loop city.stream().forEach((c) -&gt; System.out.println(c)); } } 

Išvestis

 Boston San Diego Las Vegas Houston Miami Austin