Java'da, Liste bir arayüzdür Koleksiyon çerçevesi . Nesnelerin sıralı koleksiyonunu sürdürmemizi sağlar. Liste arayüzünün uygulama sınıfları şunlardır: Dizi Listesi, Bağlantılı Liste, Yığın , Ve Vektör . ArrayList ve LinkedList yaygın olarak kullanılmaktadır. Java . Bu bölümde öğreneceğiz Java'da bir Listeyi yinelemek nasıl . Bu bölüm boyunca kullanacağımız Dizi Listesi .
10 ml için ons
Döngü için Java
- Döngü için Temel
- Döngü için Geliştirilmiş
Java Yineleyicileri
- Yineleyici
- ListeYineleyici
Java forEach Yöntemi
- Iterable.forEach()
- Stream.forEach()
Döngü için Java
Döngü için Temel
Döngü için Java yineleme için en yaygın akış kontrol döngüsüdür. For döngüsü, indeks numarası görevi gören bir değişken içerir. Listenin tamamı yinelenmeyene kadar yürütülür.
Sözdizimi:
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();>
Döngü için Geliştirilmiş
Temel for döngüsüne benzer. Kompakt, kolay ve okunabilirdir. Liste üzerinde geçiş yapmak için yaygın olarak kullanılır. Temel for döngüsüne kıyasla kolaydır.
Sözdizimi:
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); } } }
Çıktı
anaconda vs piton yılanı
Boston San Diego Las Vegas Houston Miami Austin
Java Yineleyici
Yineleyici
Java bir arayüz Yineleyici sağlar ile yinelemek Liste, Harita vb. gibi Koleksiyonlar üzerinde. Liste üzerinde yineleme yapmamızı sağlayan next() ve hasNaxt() adlı iki temel yöntemi içerir.
Sonraki(): next() yöntemi yinelemeyi ileri sırayla gerçekleştirir. Listedeki bir sonraki öğeyi döndürür. Fırlatıyor NoSuchElementException yineleme Listedeki bir sonraki öğeyi içermiyorsa. Bu yöntem, listede yineleme yapmak için tekrar tekrar çağrılabilir veya ileri geri gitmek için önceki() çağrılarıyla karıştırılabilir.
Sözdizimi:
E next()
hasNext(): hasNext() yöntemi Listenin son öğesini bulmamıza yardımcı olur. Listenin bir sonraki öğeye sahip olup olmadığını kontrol eder. HasNext() yöntemi ileri yönde geçiş sırasında öğeyi alırsa true değerini döndürür, aksi takdirde false değerini döndürür ve yürütmeyi sonlandırır.
Sözdizimi:
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()); } } }
Çıktı
rekha yaşı
Boston San Diego Las Vegas Houston Miami Austin
ListeYineleyici
ListIterator aynı zamanda Java.util paketine ait bir arayüzdür. Uzatır Yineleyici arayüz. Liste üzerinde ileri veya geri sırayla yineleme yapmamızı sağlar. Liste üzerinde ileri yineleme, Yineleyici tarafından kullanılan mekanizmanın aynısını sağlar. Liste üzerinde yineleme yapmak için Iterator arayüzünün next() ve hasNext() yöntemini kullanırız.
android'de paskalya yumurtaları
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()); } } }
Çıktı
Boston San Diego Las Vegas Houston Miami Austin
Java forEach Yöntemi
Iterable.forEach()
Yinelenebilir arayüz, Liste üzerinde yineleme yapmak için forEach() yöntemini sağlar. Java 8'den beri mevcuttur. Tüm öğeler işlenene veya eylem bir istisna atana kadar her öğe için belirtilen eylemi gerçekleştirir. Ayrıca Lambda ifadelerini de parametre olarak kabul eder.
Sözdizimi:
default void forEach(Consumer action)
Varsayılan uygulama şöyle davranır:
for (T t : this) action.accept(t);
Kabul eder aksiyon bir parametre olarak müdahale etmeyen (akış hattının yürütülmesi sırasında veri kaynağının hiç değiştirilmediği anlamına gelir) öğeler üzerinde gerçekleştirilecek eylem. Fırlatıyor NullPointerException belirtilen eylem null ise.
Tüketici lambda ifadesi veya yöntem referansı için atama hedefi olarak kullanılabilecek işlevsel bir arayüzdür. T, işleme giriş türüdür. Tek bir giriş argümanını kabul eden ve sonuç döndürmeyen bir işlemi temsil eder.
IterateListExample5.java
harita vs set
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); } }
Çıktı
Boston San Diego Las Vegas Houston Miami Austin
Stream.forEach()
Java Stream arayüzü, Liste değerlerini bir akışa dönüştürmemize olanak tanır. Stream arayüzünün yardımıyla forEach(), map() ve filter() gibi işlemlere erişebiliriz.
Sözdizimi:
void forEach(Consumer action)
Kabul eder aksiyon bir parametre olarak müdahale etmeyen (akış hattının yürütülmesi sırasında veri kaynağının hiç değiştirilmediği anlamına gelir) öğeler üzerinde gerçekleştirilecek eylem.
Tüketici lambda ifadesi veya yöntem referansı için atama hedefi olarak kullanılabilecek işlevsel bir arayüzdür. T, işleme giriş türüdür. Tek bir giriş argümanını kabul eden ve sonuç döndürmeyen bir işlemi temsil eder.
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)); } }
Çıktı
Boston San Diego Las Vegas Houston Miami Austin