How to loop / iterate a List in Java
Here i show you four ways to loop a List in Java.
- Iterator loop
- For loop
- For loop (Adcance)
- 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
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..
int listSize = lList.size();
for (int i = 0; i < listSize; i++) {
this is the code i needed
your help is very usefull.. i was appreciate it
Artikelnya bagus, Informasi yang diberikan juga lengkap dan mudah di baca..
Artikelnya bagus, Informasi yang diberikan juga lengkap dan mudah di baca…
sukses terus ya gan :))
nice artikel
nice artikel
for (int i = 0; i < lList.size(); i++) {
The above line can be replaced with
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
Thus avoiding the size method check in every iteration ,so usefull this theory ,i will try it
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);
}
String sArray[] = new String[] { “Array 1”, “Array 2”, “Array 3” };
final List listPage = Arrays.asList(sArray);
int numPage = 0;
while (numPage< listPage.size()) {
numPage++;
}
Thanks for list implementaion trying one for my ibatis project.
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);
}
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?
which one is more efficient
Thanks Mkyong
we can also use do while loop also
mkyong you are da shiiiiiiiiiiiiiiiittttttt!!
You always appear when I am in need of some serious Java help 😀
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..
thats why the enhanced loop is made
Thanks man.. This helped a lot
@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);
}
i wanto display string ABC-123 in CBA-321 format
i wanto display ABC-123 in CBA-321 format
Thanks for list implementaion trying one for my ibatis project.
4. For-each loop (java5 feature):
//for-each loop
for (String element : lList) // or sArray
{
System.out.println( element );
}
nice, awesome, and very clean and well explained java example
thanks keep posting.