logo

كيفية تكرار القائمة في جافا

في جافا، قائمة هي واجهة لل إطار التجميع . إنه يوفر لنا الحفاظ على المجموعة المرتبة من الكائنات. فئات التنفيذ لواجهة القائمة هي ArrayList، LinkedList، Stack ، و المتجه . يتم استخدام ArrayList وLinkedList على نطاق واسع في جافا . في هذا القسم سوف نتعلم كيفية تكرار قائمة في جافا . في هذا القسم سوف نستخدم ArrayList .

جافا للحلقة

  1. الأساسية للحلقة
  2. محسّن للحلقة

مكررات جافا

  1. مكرر
  2. ListIterator

جافا لكل طريقة

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

جافا للحلقة

الأساسية للحلقة

جافا للحلقة هي حلقة التحكم في التدفق الأكثر شيوعًا للتكرار. تحتوي الحلقة 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();>

محسّن للحلقة

إنه مشابه للحلقة الأساسية. إنه مدمج وسهل وقابل للقراءة. يتم استخدامه على نطاق واسع لإجراء الاجتياز عبر القائمة. إنه سهل بالمقارنة مع الحلقة الأساسية.

بناء الجملة:

 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 واجهة مكررة ل أعاد فوق المجموعات، مثل القائمة والخريطة وما إلى ذلك. وهي تحتوي على طريقتين رئيسيتين next() و hasNaxt() التي تسمح لنا بإجراء التكرار على القائمة.

التالي(): تقوم الطريقة التالية () بإجراء التكرار بالترتيب الأمامي. تقوم بإرجاع العنصر التالي في القائمة. يرمي NoSuchElementException إذا كان التكرار لا يحتوي على العنصر التالي في القائمة. يمكن استدعاء هذه الطريقة بشكل متكرر للتكرار عبر القائمة، أو مزجها مع استدعاءات الدالة السابقة () للتنقل ذهابًا وإيابًا.

بناء الجملة:

 E next() 

التالي (): تساعدنا طريقة hasNext() في العثور على العنصر الأخير في القائمة. يتحقق مما إذا كانت القائمة تحتوي على العنصر التالي أم لا. إذا حصلت الطريقة hasNext() على العنصر أثناء العبور في الاتجاه الأمامي، فستُرجع صحيحًا، وإلا تُرجع خطأ وتنهي التنفيذ.

بناء الجملة:

 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. يمتد مكرر واجهه المستخدم. يسمح لنا بالتكرار على القائمة إما بترتيب للأمام أو للخلف. يوفر التكرار الأمامي عبر القائمة نفس الآلية التي يستخدمها المكرر. نستخدم الطريقة التالية () و 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()); } } } 

انتاج |

الكلمة الأساسية الثابتة في Java
 Boston San Diego Las Vegas Houston Miami Austin 

جافا لكل طريقة

Iterable.forEach()

توفر الواجهة القابلة للتكرار طريقة forEach() للتكرار عبر القائمة. إنه متوفر منذ Java 8. وهو ينفذ الإجراء المحدد لكل عنصر حتى تتم معالجة جميع العناصر أو يلقي الإجراء استثناءً. كما يقبل تعبيرات Lambda كمعلمة.

بناء الجملة:

 default void forEach(Consumer action) 

يتصرف التنفيذ الافتراضي مثل:

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

يقبل فعل كمعلمة وهذا هو عدم التدخل (يعني أن مصدر البيانات لم يتم تعديله على الإطلاق أثناء تنفيذ خط أنابيب الدفق) الذي سيتم تنفيذه على العناصر. يرمي NullPointerException إذا كان الإجراء المحدد فارغًا.

ال مستهلك هي واجهة وظيفية يمكن استخدامها كهدف تعيين لتعبير لامدا أو مرجع الأسلوب. 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 تحويل قيم القائمة إلى دفق. بمساعدة واجهة البث يمكننا الوصول إلى عمليات مثل forEach() وmap() وfilter().

بناء الجملة:

 void forEach(Consumer action) 

يقبل فعل كمعلمة وهذا هو عدم التدخل (يعني أن مصدر البيانات لم يتم تعديله على الإطلاق أثناء تنفيذ خط أنابيب الدفق) الذي سيتم تنفيذه على العناصر.

ال مستهلك هي واجهة وظيفية يمكن استخدامها كهدف تعيين لتعبير لامدا أو مرجع الأسلوب. 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