Supporting code for the 'There's a loop for each of us' blog post
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.oopuniversity.basics.loops; | |
import com.oopuniversity.basics.classes.Person; | |
import java.util.ArrayList; | |
import java.util.Iterator; | |
import java.util.List; | |
/** | |
* Created by OOPUniversity on 11/15/2015. | |
*/ | |
public class ForEach { | |
public static void main(String[] args) { | |
List personList = buildPersonList(); | |
String [] simpleList = { "First", "Second", "Fifteenth?" }; | |
printPersonList1(personList); | |
printPersonList2(personList); | |
printPersonList3(personList); | |
printPersonList4(personList); | |
printPersonList5(personList); | |
printStringArray(simpleList); | |
} | |
private static List <Person> buildPersonList() { | |
List <Person> personList = new ArrayList<>(); | |
Person p = new Person("John", "Doe"); | |
personList.add(p); | |
p = new Person("Satoshi", "Nakamoto"); | |
personList.add(p); | |
p = new Person("Athena", "Momandpopadopolis"); | |
personList.add(p); | |
return personList; | |
} | |
public static void printPersonList1(List personList) { | |
System.out.println("Using a 'while' loop the JDK 1.4 (and earlier) way:"); | |
Iterator iter = personList.iterator(); | |
while(iter.hasNext()) { | |
Person p = (Person) iter.next(); | |
System.out.println(p.getFirstName() + " " + p.getLastName()); | |
} | |
System.out.println(); | |
} | |
public static void printPersonList2(List personList) { | |
System.out.println("Using a 'while' loop with generics:"); | |
Iterator <Person> iter = personList.iterator(); | |
while(iter.hasNext()) { | |
Person p = iter.next(); | |
System.out.println(p.getFirstName() + " " + p.getLastName()); | |
} | |
System.out.println(); | |
} | |
public static void printPersonList3(List<Person> personList) { | |
System.out.println("Using a 'for' loop with generics:"); | |
Person p = null; | |
for(Iterator <Person> iter = personList.iterator(); iter.hasNext(); ) { | |
p = iter.next(); | |
System.out.println(p.getFirstName() + " " + p.getLastName()); | |
} | |
System.out.println(); | |
} | |
public static void printPersonList4(List<Person> personList) { | |
System.out.println("Using a 'for' loop with no iterator:"); | |
Person p = null; | |
for(int i = 0; i < personList.size(); i++) { | |
p = personList.get(i); | |
System.out.println(p.getFirstName() + " " + p.getLastName()); | |
} | |
System.out.println(); | |
} | |
public static void printPersonList5(List<Person> personList) { | |
System.out.println("Using a 'for each' loop:"); | |
for(Person p:personList) { | |
System.out.println(p.getFirstName() + " " + p.getLastName()); | |
} | |
System.out.println(); | |
} | |
private static void printStringArray(String[] aList) { | |
System.out.println("The enhanced for can also work on array types:"); | |
for(String s: aList) { | |
System.out.println(s); | |
} | |
System.out.println(); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.oopuniversity.basics.classes; | |
/** | |
* Created by OOPUniversity on 11/15/2015. | |
*/ | |
public class Person { | |
private String firstName; | |
private String lastName; | |
public Person(String newFirstName, String newLastName) { | |
firstName = newFirstName; | |
lastName = newLastName; | |
} | |
public String getFirstName() { | |
return firstName; | |
} | |
public void setFirstName(String newFirstName) { | |
firstName = newFirstName; | |
} | |
public String getLastName() { | |
return lastName; | |
} | |
public void setLastName(String newLastName) { | |
lastName = newLastName; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment