logo

Kako ponoviti popis u Javi

U Javi, Popis je sučelje za Okvir zbirke . Omogućuje nam održavanje uređene zbirke predmeta. Implementacijske klase List sučelja su ArrayList, LinkedList, Stack , i Vektor . ArrayList i LinkedList naširoko se koriste u Java . U ovom odjeljku naučit ćemo kako ponoviti listu u Javi . U cijelom ovom odjeljku koristit ćemo ArrayList .

Java za petlju

  1. Osnovno za petlju
  2. Poboljšano za petlju

Java iteratori

  1. Iterator
  2. ListIterator

Metoda Java forEach

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

Java za petlju

Osnovno za petlju

Java for petlja je najčešća petlja kontrole toka za iteraciju. For petlja sadrži varijablu koja djeluje kao indeksni broj. Izvršava se sve dok se cijeli popis ne ponavlja.

Sintaksa:

 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();>

Poboljšano za petlju

Slično je osnovnoj for petlji. Kompaktan je, jednostavan i čitljiv. Široko se koristi za izvođenje obilaska popisa. Jednostavan je u usporedbi s osnovnom for petljom.

minimax algoritam

Sintaksa:

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

IterateListExample2.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); } } } 

Izlaz

 Boston San Diego Las Vegas Houston Miami Austin 

Java iterator

Iterator

Java nudi sučelje Iterator do ponavljati preko kolekcija, kao što su popis, mapa itd. Sadrži dvije ključne metode next() i hasNaxt() koje nam omogućuju izvođenje iteracije nad popisom.

Sljedeći(): Metoda next() izvodi iteraciju prema naprijed. Vraća sljedeći element na popisu. Baca se NoSuchElementException ako iteracija ne sadrži sljedeći element na Listi. Ova se metoda može više puta pozivati ​​za ponavljanje kroz popis ili pomiješana s pozivima za prethodni() za kretanje naprijed-natrag.

Sintaksa:

 E next() 

hasNext(): Metoda hasNext() pomaže nam da pronađemo zadnji element liste. Provjerava ima li popis sljedeći element ili ne. Ako metoda hasNext() dobije element tijekom kretanja u smjeru naprijed, vraća true, inače vraća false i prekida izvođenje.

Sintaksa:

 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()); } } } 

Izlaz

linux promijeniti naziv direktorija
 Boston San Diego Las Vegas Houston Miami Austin 

ListIterator

ListIterator je također sučelje koje pripada paketu java.util. Proteže se Iterator sučelje. Omogućuje nam da iteriramo po popisu naprijed ili unatrag. Iteracija naprijed preko Liste pruža isti mehanizam kao što ga koristi Iterator. Koristimo next() i hasNext() metodu Iterator sučelja za iteraciju preko Liste.

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()); } } } 

Izlaz

 Boston San Diego Las Vegas Houston Miami Austin 

Metoda Java forEach

Iterable.forEach()

Iterable sučelje pruža forEach() metodu za ponavljanje preko popisa. Dostupan je od Jave 8. Izvodi navedenu radnju za svaki element dok se svi elementi ne obrade ili radnja ne izbaci iznimku. Također prihvaća Lambda izraze kao parametar.

Sintaksa:

 default void forEach(Consumer action) 

Zadana implementacija ponaša se ovako:

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

Prihvaća akcijski kao parametar koji je nemiješanje (znači da se izvor podataka uopće ne mijenja tijekom izvođenja cjevovoda toka) radnja koju treba izvesti na elementima. Baca se NullPointerException ako je navedena radnja nula.

The Potrošač je funkcionalno sučelje koje se može koristiti kao cilj dodjele za lambda izraz ili referencu metode. T je vrsta ulaza u operaciju. Predstavlja operaciju koja prihvaća jedan ulazni argument i ne vraća nikakav rezultat.

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); } } 

Izlaz

 Boston San Diego Las Vegas Houston Miami Austin 

Stream.forEach()

Java Stream sučelje nam omogućuje pretvaranje List vrijednosti u stream. Uz pomoć Stream sučelja možemo pristupiti operacijama kao što su forEach(), map() i filter().

Sintaksa:

string concat java
 void forEach(Consumer action) 

Prihvaća akcijski kao parametar koji je nemiješanje (znači da se izvor podataka uopće ne mijenja tijekom izvođenja cjevovoda toka) radnja koju treba izvesti na elementima.

The Potrošač je funkcionalno sučelje koje se može koristiti kao cilj dodjele za lambda izraz ili referencu metode. T je vrsta ulaza u operaciju. Predstavlja operaciju koja prihvaća jedan ulazni argument i ne vraća nikakav rezultat.

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 loop city.stream().forEach((c) -&gt; System.out.println(c)); } } 

Izlaz

 Boston San Diego Las Vegas Houston Miami Austin