How to loop / iterate a List in Java

Here i show you four ways to loop a List in Java.

  1. Iterator loop
  2. For loop
  3. For loop (Adcance)
  4. While loop

package com.mkyong.core;

import java.util.Arrays;
import java.util.Iterator;
import java.util.List;

public class ArrayToList {
     public static void main(String[] argv) {

	String sArray[] = new String[] { "Array 1", "Array 2", "Array 3" };

	// convert array to list
	List<String> lList = Arrays.asList(sArray);

	// iterator loop
	System.out.println("#1 iterator");
	Iterator<String> iterator = lList.iterator();
	while (iterator.hasNext()) {
		System.out.println(iterator.next());
	}

	// for loop
	System.out.println("#2 for");
	for (int i = 0; i < lList.size(); i++) {
		System.out.println(lList.get(i));
	}

	// for loop advance
	System.out.println("#3 for advance");
	for (String temp : lList) {
		System.out.println(temp);
	}

	// while loop
	System.out.println("#4 while");
	int j = 0;
	while (j < lList.size()) {
		System.out.println(lList.get(j));
		j++;
	}
    }
}

Output


#1 iterator
Array 1
Array 2
Array 3
#2 for
Array 1
Array 2
Array 3
#3 for advance
Array 1
Array 2
Array 3
#4 while
Array 1
Array 2
Array 3

28 comments on “How to loop / iterate a List in Java

  1. Artikelnya bagus, Informasi yang diberikan juga lengkap dan mudah di baca…
    sukses terus ya gan :))

    Reply
  2. for (int i = 0; i < lList.size(); i++) {
    The above line can be replaced with

    int listSize = lList.size();
    for (int i = 0; i < listSize; i++) {

    Thus avoiding the size method check in every iteration..this achieves great performance if you have a large list

    Reply
  3. He showed that one already as his #3 loop “for loop advance”

    // for loop advance
    System.out.println(“#3 for advance”);
    for (String temp : lList) {
    System.out.println(temp);
    }

    Reply
  4. nice, awesome, and very clean and well explained java example
    thanks keep posting.

    Reply
  5. String sArray[] = new String[] { “Array 1”, “Array 2”, “Array 3” };

    final List listPage = Arrays.asList(sArray);

    int numPage = 0;

    while (numPage< listPage.size()) {

    numPage++;
    }

    Reply
  6. for (int i = 0; i < lList.size(); i++) {
    The above line can be replaced with

    int listSize = lList.size();
    for (int i = 0; i < listSize; i++) {

    Thus avoiding the size method check in every iteration..this achieves great performance if you have a large list..

    Reply
  7. He showed that one already as his #3 loop “for loop advance”

    // for loop advance
    System.out.println(“#3 for advance”);
    for (String temp : lList) {
    System.out.println(temp);
    }

    Reply
  8. String sArray[] = new String[] { “Array 1”, “Array 2”, “Array 3” };

    final List listPage = Arrays.asList(sArray);

    int numPage = 0;

    while (numPage< listPage.size()) {

    numPage++;
    }

    can I Convert String [ ] to int like this?

    Reply
  9. mkyong you are da shiiiiiiiiiiiiiiiittttttt!!

    You always appear when I am in need of some serious Java help 😀

    Reply
  10. for (int i = 0; i < lList.size(); i++) {
    The above line can be replaced with

    int listSize = lList.size();
    for (int i = 0; i < listSize; i++) {

    Thus avoiding the size method check in every iteration..this achieves great performance if you have a large list..

    Reply
  11. @r30:

    He showed that one already as his #3 loop “for loop advance”

    // for loop advance
    System.out.println(“#3 for advance”);
    for (String temp : lList) {
    System.out.println(temp);
    }

    Reply
  12. 4. For-each loop (java5 feature):

    //for-each loop
    for (String element : lList) // or sArray
    {
    System.out.println( element );
    }

    Reply

Leave a Comment

Your email address will not be published. Required fields are marked *