Skip to content

Commit 5812866

Browse files
jeetkunecoderjzheaux
authored andcommitted
Ways to iterate over a list
Issue: BAEL-2311
1 parent 1d0fab4 commit 5812866

2 files changed

Lines changed: 138 additions & 0 deletions

File tree

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
package com.baeldung.java.list;
2+
3+
import java.util.Arrays;
4+
import java.util.Iterator;
5+
import java.util.List;
6+
import java.util.ListIterator;
7+
8+
/**
9+
* Demonstrates the different ways to loop over
10+
* the elements of a list.
11+
*/
12+
public class WaysToIterate {
13+
14+
List<String> countries = Arrays.asList("Germany", "Panama", "Australia");
15+
16+
/**
17+
* Iterate over a list using a basic for loop
18+
*/
19+
public void iterateWithForLoop() {
20+
for (int i = 0; i < countries.size(); i++) {
21+
System.out.println(countries.get(i));
22+
}
23+
}
24+
25+
/**
26+
* Iterate over a list using the enhanced for loop
27+
*/
28+
public void iterateWithEnhancedForLoop() {
29+
for (String country : countries) {
30+
System.out.println(country);
31+
}
32+
}
33+
34+
/**
35+
* Iterate over a list using an Iterator
36+
*/
37+
public void iterateWithIterator() {
38+
Iterator<String> countriesIterator = countries.iterator();
39+
while(countriesIterator.hasNext()) {
40+
System.out.println(countriesIterator.next());
41+
}
42+
}
43+
44+
/**
45+
* Iterate over a list using a ListIterator
46+
*/
47+
public void iterateWithListIterator() {
48+
ListIterator<String> listIterator = countries.listIterator();
49+
while(listIterator.hasNext()) {
50+
System.out.println(listIterator.next());
51+
}
52+
}
53+
54+
/**
55+
* Iterate over a list using the Iterable.forEach() method
56+
*/
57+
public void iterateWithForEach() {
58+
countries.forEach(System.out::println);
59+
}
60+
61+
/**
62+
* Iterate over a list using the Stream.forEach() method
63+
*/
64+
public void iterateWithStreamForEach() {
65+
countries.stream().forEach((c) -> System.out.println(c));
66+
}
67+
}
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
package com.baeldung.java.list;
2+
3+
import static org.junit.Assert.assertEquals;
4+
5+
import java.util.ArrayList;
6+
import java.util.Arrays;
7+
import java.util.Iterator;
8+
import java.util.List;
9+
import java.util.ListIterator;
10+
11+
import org.junit.Test;
12+
13+
public class WaysToIterateUnitTest {
14+
15+
List<String> globalCountries = new ArrayList<String>();
16+
List<String> europeanCountries = Arrays.asList("Germany", "Panama", "Australia");
17+
18+
@Test
19+
public void whenIteratingUsingForLoop_thenReturnThreeAsSizeOfList() {
20+
for (int i = 0; i < europeanCountries.size(); i++) {
21+
globalCountries.add(europeanCountries.get(i));
22+
}
23+
assertEquals(globalCountries.size(), 3);
24+
globalCountries.clear();
25+
}
26+
27+
@Test
28+
public void whenIteratingUsingEnhancedForLoop_thenReturnThreeAsSizeOfList() {
29+
for (String country : europeanCountries) {
30+
globalCountries.add(country);
31+
}
32+
assertEquals(globalCountries.size(), 3);
33+
globalCountries.clear();
34+
}
35+
36+
@Test
37+
public void whenIteratingUsingIterator_thenReturnThreeAsSizeOfList() {
38+
Iterator<String> countriesIterator = europeanCountries.iterator();
39+
while (countriesIterator.hasNext()) {
40+
globalCountries.add(countriesIterator.next());
41+
}
42+
43+
assertEquals(globalCountries.size(), 3);
44+
globalCountries.clear();
45+
}
46+
47+
@Test
48+
public void whenIteratingUsingListIterator_thenReturnThreeAsSizeOfList() {
49+
ListIterator<String> countriesIterator = europeanCountries.listIterator();
50+
while (countriesIterator.hasNext()) {
51+
globalCountries.add(countriesIterator.next());
52+
}
53+
54+
assertEquals(globalCountries.size(), 3);
55+
globalCountries.clear();
56+
}
57+
58+
@Test
59+
public void whenIteratingUsingForEach_thenReturnThreeAsSizeOfList() {
60+
europeanCountries.forEach(country -> globalCountries.add(country));
61+
assertEquals(globalCountries.size(), 3);
62+
globalCountries.clear();
63+
}
64+
65+
@Test
66+
public void whenIteratingUsingStreamForEach_thenReturnThreeAsSizeOfList() {
67+
europeanCountries.stream().forEach((country) -> globalCountries.add(country));
68+
assertEquals(globalCountries.size(), 3);
69+
globalCountries.clear();
70+
}
71+
}

0 commit comments

Comments
 (0)