I Java, Liste er et grensesnitt av Innsamlingsramme . Det gir oss å opprettholde den ordnede samlingen av objekter. Implementeringsklassene til List-grensesnittet er ArrayList, LinkedList, Stack , og Vektor . ArrayList og LinkedList er mye brukt i Java . I denne delen vil vi lære hvordan å iterere en liste i Java . Gjennom denne delen vil vi bruke ArrayList .
Java for Loop
sorter arraylisten i java
- Grunnleggende for Loop
- Forbedret for Loop
Java Iteratorer
- Iterator
- ListIterator
Java for hver metode
- Iterable.forEach()
- Stream.forEach()
Java for Loop
Grunnleggende for Loop
Java for loop er den vanligste strømningskontrollsløyfen for iterasjon. For-løkken inneholder en variabel som fungerer som et indeksnummer. Den kjøres til hele listen ikke itererer.
Syntaks:
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('Boston', 'San Diego', 'Las Vegas', 'Houston', 'Miami', 'Austin'); //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('Boston', 'San Diego', 'Las Vegas', 'Houston', 'Miami', 'Austin'); //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('Boston', 'San Diego', 'Las Vegas', 'Houston', 'Miami', 'Austin'); //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('Boston', 'San Diego', 'Las Vegas', 'Houston', 'Miami', 'Austin'); //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('Boston', 'San Diego', 'Las Vegas', 'Houston', 'Miami', 'Austin'); //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('Boston', 'San Diego', 'Las Vegas', 'Houston', 'Miami', 'Austin'); //iterate List using forEach loop city.stream().forEach((c) -> System.out.println(c)); } } </pre> <p> <strong>Output</strong> </p> <pre> Boston San Diego Las Vegas Houston Miami Austin </pre> <hr></city.size();>
Forbedret for Loop
Det ligner på det grunnleggende for loop. Den er kompakt, enkel og lesbar. Det er mye brukt for å gå gjennom listen. Det er enkelt i forhold til basic for loop.
Syntaks:
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('Boston', 'San Diego', 'Las Vegas', 'Houston', 'Miami', 'Austin'); //iteration over List using enhanced for loop for (String cities : city) { //prints the elements of the List System.out.println(cities); } } }
Produksjon
Boston San Diego Las Vegas Houston Miami Austin
Java Iterator
Iterator
Java gir et grensesnitt Iterator til repetere over samlingene, som Liste, Kart osv. Den inneholder to nøkkelmetoder next() og hasNaxt() som lar oss utføre en iterasjon over Listen.
heltall dobbel java
neste(): Next()-metoden utfører iterasjonen i foroverrekkefølge. Det returnerer det neste elementet i listen. Det kaster NoSuchElementException hvis iterasjonen ikke inneholder det neste elementet i listen. Denne metoden kan kalles gjentatte ganger for å iterere gjennom listen, eller blandes med kall til previous() for å gå frem og tilbake.
Syntaks:
E next()
hasNext(): hasNext()-metoden hjelper oss å finne det siste elementet i listen. Den sjekker om listen har det neste elementet eller ikke. Hvis hasNext()-metoden får elementet under traversering i foroverretningen, returnerer true, ellers returnerer false og avslutter utførelsen.
factorial i java
Syntaks:
boolean hasNext()
IterateListExample3.java
import java.util.*; public class IterateListExample3 { public static void main(String args[]) { //defining a List List city = Arrays.asList('Boston', 'San Diego', 'Las Vegas', 'Houston', 'Miami', 'Austin'); //iterate List using enhances for loop Iterator cityIterator = city.iterator(); //iterator over List using while loop while(cityIterator.hasNext()) { System.out.println(cityIterator.next()); } } }
Produksjon
Boston San Diego Las Vegas Houston Miami Austin
ListIterator
ListIterator er også et grensesnitt som tilhører java.util-pakken. Den strekker seg Iterator grensesnitt. Det lar oss iterere over listen enten i forover eller bakover rekkefølge. Fremover iterasjonen over listen gir samme mekanisme, som brukes av iteratoren. Vi bruker metodene next() og hasNext() i Iterator-grensesnittet for å iterere over listen.
IterateListExample4.java
import java.util.*; public class IterateListExample4 { public static void main(String args[]) { //defining a List List city = Arrays.asList('Boston', 'San Diego', 'Las Vegas', 'Houston', 'Miami', 'Austin'); //iterate List using the ListIterator ListIterator listIterator = city.listIterator(); while(listIterator.hasNext()) { //prints the elements of the List System.out.println(listIterator.next()); } } }
Produksjon
Boston San Diego Las Vegas Houston Miami Austin
Java for hver metode
Iterable.forEach()
Iterable-grensesnittet gir forEach()-metoden for å iterere over listen. Den er tilgjengelig siden Java 8. Den utfører den angitte handlingen for hvert element til alle elementene er behandlet eller handlingen gir et unntak. Den aksepterer også Lambda-uttrykk som en parameter.
java kommentarer
Syntaks:
default void forEach(Consumer action)
Standardimplementeringen oppfører seg slik:
for (T t : this) action.accept(t);
Det godtar handling som en parameter altså ikke forstyrrende (betyr at datakilden ikke er modifisert i det hele tatt under utførelse av strømrørledningen) handling for å utføre på elementene. Det kaster NullPointerException hvis den angitte handlingen er null.
De Forbruker er et funksjonelt grensesnitt som kan brukes som tildelingsmål for et lambda-uttrykk eller metodereferanse. T er typen input til operasjonen. Den representerer en operasjon som godtar et enkelt input-argument og ikke returnerer noe resultat.
IterateListExample5.java
import java.util.*; public class IterateListExample5 { public static void main(String args[]) { //defining a List List city = Arrays.asList('Boston', 'San Diego', 'Las Vegas', 'Houston', 'Miami', 'Austin'); //iterate List using forEach city.forEach(System.out::println); } }
Produksjon
fizzbuzz java
Boston San Diego Las Vegas Houston Miami Austin
Stream.forEach()
Java Stream-grensesnitt lar oss konvertere listeverdiene til en strøm. Ved hjelp av Stream-grensesnittet kan vi få tilgang til operasjoner som forEach(), map() og filter().
Syntaks:
void forEach(Consumer action)
Det godtar handling som en parameter altså ikke forstyrrende (betyr at datakilden ikke er modifisert i det hele tatt under utførelse av strømrørledningen) handling for å utføre på elementene.
De Forbruker er et funksjonelt grensesnitt som kan brukes som tildelingsmål for et lambda-uttrykk eller metodereferanse. T er typen input til operasjonen. Den representerer en operasjon som godtar et enkelt input-argument og ikke returnerer noe resultat.
IterateListExample5.java
import java.util.*; public class IterateListExample5 { public static void main(String args[]) { //defining a List List city = Arrays.asList('Boston', 'San Diego', 'Las Vegas', 'Houston', 'Miami', 'Austin'); //iterate List using forEach loop city.stream().forEach((c) -> System.out.println(c)); } }
Produksjon
Boston San Diego Las Vegas Houston Miami Austin