logo

Как да итерирате списък в Java

В Java, списък е интерфейс на Рамка за събиране . Той ни осигурява да поддържаме подредената колекция от обекти. Класовете за изпълнение на интерфейса List са ArrayList, LinkedList, Stack , и вектор . ArrayList и LinkedList се използват широко в Java . В този раздел ще научим как да итерирате списък в Java . В този раздел ще използваме ArrayList .

Java за цикъл

  1. Основен за цикъл
  2. Подобрено за Loop

Java итератори

  1. Итератор
  2. ListIterator

Java forEach метод

bash else if
  1. Iterable.forEach()
  2. Stream.forEach()

Java за цикъл

Основен за цикъл

Java за цикъл е най-често срещаният цикъл за контрол на потока за итерация. Цикълът for съдържа променлива, която действа като индексно число. Той се изпълнява, докато целият списък не се повтори.

Синтаксис:

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

Подобрено за Loop

Той е подобен на основния for цикъл. Той е компактен, лесен и четим. Той се използва широко за извършване на обхождане на списъка. Лесно е в сравнение с основния for цикъл.

как да конвертирате низ в цяло число java

Синтаксис:

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

Изход

 Boston San Diego Las Vegas Houston Miami Austin 

Итератор на Java

Итератор

Java предоставя интерфейс Iterator да се итерация над колекциите, като списък, карта и т.н. Той съдържа два ключови метода next() и hasNaxt(), които ни позволяват да извършим итерация над списъка.

следващия(): Методът next() изпълнява итерацията в преден ред. Връща следващия елемент в списъка. Хвърля се NoSuchElementException ако итерацията не съдържа следващия елемент в списъка. Този метод може да се извиква многократно за итериране през списъка или смесен с извиквания към previous() за връщане напред и назад.

Синтаксис:

 E next() 

hasNext(): Методът hasNext() ни помага да намерим последния елемент от списъка. Той проверява дали списъкът има следващия елемент или не. Ако методът hasNext() получи елемента по време на преминаване в посока напред, връща true, в противен случай връща false и прекратява изпълнението.

заменете низа в java

Синтаксис:

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

Изход

 Boston San Diego Las Vegas Houston Miami Austin 

ListIterator

ListIterator също е интерфейс, който принадлежи към пакета java.util. Разширява се Итератор интерфейс. Това ни позволява да итерираме списъка в преден или обратен ред. Итерацията напред над списъка предоставя същия механизъм, както се използва от итератора. Използваме метода next() и hasNext() на интерфейса на Iterator, за да итерираме списъка.

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

Изход

 Boston San Diego Las Vegas Houston Miami Austin 

Java forEach метод

Iterable.forEach()

Итерируемият интерфейс предоставя метод forEach() за итериране на списъка. Предлага се от Java 8. Изпълнява определеното действие за всеки елемент, докато всички елементи бъдат обработени или действието хвърли изключение. Той също така приема ламбда изрази като параметър.

остър ъгъл

Синтаксис:

 default void forEach(Consumer action) 

Изпълнението по подразбиране се държи като:

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

Приема действие като параметър, който е непречещи (означава, че източникът на данни изобщо не се променя по време на изпълнението на конвейера на потока) действие, което да се извърши върху елементите. Хвърля се NullPointerException ако указаното действие е нула.

The Консуматор е функционален интерфейс, който може да се използва като цел за присвояване на ламбда израз или препратка към метод. T е типът вход за операцията. Той представлява операция, която приема един входен аргумент и не връща резултат.

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

Изход

 Boston San Diego Las Vegas Houston Miami Austin 

Stream.forEach()

Интерфейсът на Java Stream ни позволява да конвертираме стойностите на списъка в поток. С помощта на интерфейса Stream можем да имаме достъп до операции като forEach(), map() и filter().

Синтаксис:

java списък възел
 void forEach(Consumer action) 

Приема действие като параметър, който е непречещи (означава, че източникът на данни изобщо не се променя по време на изпълнението на конвейера на потока) действие, което да се извърши върху елементите.

The Консуматор е функционален интерфейс, който може да се използва като цел за присвояване на ламбда израз или препратка към метод. T е типът вход за операцията. Той представлява операция, която приема един входен аргумент и не връща резултат.

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

Изход

 Boston San Diego Las Vegas Houston Miami Austin