Ways to iterate over a list
Issue: BAEL-2311
This commit is contained in:
parent
1d0fab4252
commit
5812866573
@ -0,0 +1,67 @@
|
|||||||
|
package com.baeldung.java.list;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.Iterator;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.ListIterator;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Demonstrates the different ways to loop over
|
||||||
|
* the elements of a list.
|
||||||
|
*/
|
||||||
|
public class WaysToIterate {
|
||||||
|
|
||||||
|
List<String> countries = Arrays.asList("Germany", "Panama", "Australia");
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Iterate over a list using a basic for loop
|
||||||
|
*/
|
||||||
|
public void iterateWithForLoop() {
|
||||||
|
for (int i = 0; i < countries.size(); i++) {
|
||||||
|
System.out.println(countries.get(i));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Iterate over a list using the enhanced for loop
|
||||||
|
*/
|
||||||
|
public void iterateWithEnhancedForLoop() {
|
||||||
|
for (String country : countries) {
|
||||||
|
System.out.println(country);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Iterate over a list using an Iterator
|
||||||
|
*/
|
||||||
|
public void iterateWithIterator() {
|
||||||
|
Iterator<String> countriesIterator = countries.iterator();
|
||||||
|
while(countriesIterator.hasNext()) {
|
||||||
|
System.out.println(countriesIterator.next());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Iterate over a list using a ListIterator
|
||||||
|
*/
|
||||||
|
public void iterateWithListIterator() {
|
||||||
|
ListIterator<String> listIterator = countries.listIterator();
|
||||||
|
while(listIterator.hasNext()) {
|
||||||
|
System.out.println(listIterator.next());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Iterate over a list using the Iterable.forEach() method
|
||||||
|
*/
|
||||||
|
public void iterateWithForEach() {
|
||||||
|
countries.forEach(System.out::println);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Iterate over a list using the Stream.forEach() method
|
||||||
|
*/
|
||||||
|
public void iterateWithStreamForEach() {
|
||||||
|
countries.stream().forEach((c) -> System.out.println(c));
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,71 @@
|
|||||||
|
package com.baeldung.java.list;
|
||||||
|
|
||||||
|
import static org.junit.Assert.assertEquals;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.Iterator;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.ListIterator;
|
||||||
|
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
|
public class WaysToIterateUnitTest {
|
||||||
|
|
||||||
|
List<String> globalCountries = new ArrayList<String>();
|
||||||
|
List<String> europeanCountries = Arrays.asList("Germany", "Panama", "Australia");
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void whenIteratingUsingForLoop_thenReturnThreeAsSizeOfList() {
|
||||||
|
for (int i = 0; i < europeanCountries.size(); i++) {
|
||||||
|
globalCountries.add(europeanCountries.get(i));
|
||||||
|
}
|
||||||
|
assertEquals(globalCountries.size(), 3);
|
||||||
|
globalCountries.clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void whenIteratingUsingEnhancedForLoop_thenReturnThreeAsSizeOfList() {
|
||||||
|
for (String country : europeanCountries) {
|
||||||
|
globalCountries.add(country);
|
||||||
|
}
|
||||||
|
assertEquals(globalCountries.size(), 3);
|
||||||
|
globalCountries.clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void whenIteratingUsingIterator_thenReturnThreeAsSizeOfList() {
|
||||||
|
Iterator<String> countriesIterator = europeanCountries.iterator();
|
||||||
|
while (countriesIterator.hasNext()) {
|
||||||
|
globalCountries.add(countriesIterator.next());
|
||||||
|
}
|
||||||
|
|
||||||
|
assertEquals(globalCountries.size(), 3);
|
||||||
|
globalCountries.clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void whenIteratingUsingListIterator_thenReturnThreeAsSizeOfList() {
|
||||||
|
ListIterator<String> countriesIterator = europeanCountries.listIterator();
|
||||||
|
while (countriesIterator.hasNext()) {
|
||||||
|
globalCountries.add(countriesIterator.next());
|
||||||
|
}
|
||||||
|
|
||||||
|
assertEquals(globalCountries.size(), 3);
|
||||||
|
globalCountries.clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void whenIteratingUsingForEach_thenReturnThreeAsSizeOfList() {
|
||||||
|
europeanCountries.forEach(country -> globalCountries.add(country));
|
||||||
|
assertEquals(globalCountries.size(), 3);
|
||||||
|
globalCountries.clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void whenIteratingUsingStreamForEach_thenReturnThreeAsSizeOfList() {
|
||||||
|
europeanCountries.stream().forEach((country) -> globalCountries.add(country));
|
||||||
|
assertEquals(globalCountries.size(), 3);
|
||||||
|
globalCountries.clear();
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user