<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java%2FLanguage_Basics%2FForeach</id>
		<title>Java/Language Basics/Foreach - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java%2FLanguage_Basics%2FForeach"/>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java/Language_Basics/Foreach&amp;action=history"/>
		<updated>2026-04-22T01:59:40Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java/Language_Basics/Foreach&amp;diff=7527&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java/Language_Basics/Foreach&amp;diff=7527&amp;oldid=prev"/>
				<updated>2010-06-01T06:47:33Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 06:47, 1 июня 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java/Language_Basics/Foreach&amp;diff=7526&amp;oldid=prev</id>
		<title> в 18:01, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java/Language_Basics/Foreach&amp;diff=7526&amp;oldid=prev"/>
				<updated>2010-05-31T18:01:45Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Foreach and generic data structure ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 * Copyright (c) Ian F. Darwin, http://www.darwinsys.ru/, 1996-2002.&lt;br /&gt;
 * All rights reserved. Software written by Ian F. Darwin and others.&lt;br /&gt;
 * $Id: LICENSE,v 1.8 2004/02/09 03:33:38 ian Exp $&lt;br /&gt;
 *&lt;br /&gt;
 * Redistribution and use in source and binary forms, with or without&lt;br /&gt;
 * modification, are permitted provided that the following conditions&lt;br /&gt;
 * are met:&lt;br /&gt;
 * 1. Redistributions of source code must retain the above copyright&lt;br /&gt;
 *    notice, this list of conditions and the following disclaimer.&lt;br /&gt;
 * 2. Redistributions in binary form must reproduce the above copyright&lt;br /&gt;
 *    notice, this list of conditions and the following disclaimer in the&lt;br /&gt;
 *    documentation and/or other materials provided with the distribution.&lt;br /&gt;
 *&lt;br /&gt;
 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS&amp;quot;&amp;quot;&lt;br /&gt;
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED&lt;br /&gt;
 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR&lt;br /&gt;
 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS&lt;br /&gt;
 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR&lt;br /&gt;
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF&lt;br /&gt;
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS&lt;br /&gt;
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN&lt;br /&gt;
 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)&lt;br /&gt;
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE&lt;br /&gt;
 * POSSIBILITY OF SUCH DAMAGE.&lt;br /&gt;
 * &lt;br /&gt;
 * Java, the Duke mascot, and all variants of Sun&amp;quot;s Java &amp;quot;steaming coffee&lt;br /&gt;
 * cup&amp;quot; logo are trademarks of Sun Microsystems. Sun&amp;quot;s, and James Gosling&amp;quot;s,&lt;br /&gt;
 * pioneering role in inventing and promulgating (and standardizing) the Java &lt;br /&gt;
 * language and environment is gratefully acknowledged.&lt;br /&gt;
 * &lt;br /&gt;
 * The pioneering role of Dennis Ritchie and Bjarne Stroustrup, of AT&amp;amp;T, for&lt;br /&gt;
 * inventing predecessor languages C and C++ is also gratefully acknowledged.&lt;br /&gt;
 */&lt;br /&gt;
import java.util.Collection;&lt;br /&gt;
import java.util.List;&lt;br /&gt;
import java.util.ArrayList;&lt;br /&gt;
public class ForeachDemo {&lt;br /&gt;
  static void iterate(Collection&amp;lt;String&amp;gt; c) {&lt;br /&gt;
      for (String s : c)&lt;br /&gt;
      System.out.println(s);&lt;br /&gt;
  }&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
    List&amp;lt;String&amp;gt; l = new ArrayList&amp;lt;String&amp;gt;();&lt;br /&gt;
    l.add(&amp;quot;Toronto&amp;quot;);&lt;br /&gt;
    l.add(&amp;quot;Stockholm&amp;quot;);&lt;br /&gt;
    iterate(l);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Foreach Array ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 * Copyright (c) Ian F. Darwin, http://www.darwinsys.ru/, 1996-2002.&lt;br /&gt;
 * All rights reserved. Software written by Ian F. Darwin and others.&lt;br /&gt;
 * $Id: LICENSE,v 1.8 2004/02/09 03:33:38 ian Exp $&lt;br /&gt;
 *&lt;br /&gt;
 * Redistribution and use in source and binary forms, with or without&lt;br /&gt;
 * modification, are permitted provided that the following conditions&lt;br /&gt;
 * are met:&lt;br /&gt;
 * 1. Redistributions of source code must retain the above copyright&lt;br /&gt;
 *    notice, this list of conditions and the following disclaimer.&lt;br /&gt;
 * 2. Redistributions in binary form must reproduce the above copyright&lt;br /&gt;
 *    notice, this list of conditions and the following disclaimer in the&lt;br /&gt;
 *    documentation and/or other materials provided with the distribution.&lt;br /&gt;
 *&lt;br /&gt;
 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS&amp;quot;&amp;quot;&lt;br /&gt;
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED&lt;br /&gt;
 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR&lt;br /&gt;
 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS&lt;br /&gt;
 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR&lt;br /&gt;
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF&lt;br /&gt;
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS&lt;br /&gt;
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN&lt;br /&gt;
 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)&lt;br /&gt;
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE&lt;br /&gt;
 * POSSIBILITY OF SUCH DAMAGE.&lt;br /&gt;
 * &lt;br /&gt;
 * Java, the Duke mascot, and all variants of Sun&amp;quot;s Java &amp;quot;steaming coffee&lt;br /&gt;
 * cup&amp;quot; logo are trademarks of Sun Microsystems. Sun&amp;quot;s, and James Gosling&amp;quot;s,&lt;br /&gt;
 * pioneering role in inventing and promulgating (and standardizing) the Java &lt;br /&gt;
 * language and environment is gratefully acknowledged.&lt;br /&gt;
 * &lt;br /&gt;
 * The pioneering role of Dennis Ritchie and Bjarne Stroustrup, of AT&amp;amp;T, for&lt;br /&gt;
 * inventing predecessor languages C and C++ is also gratefully acknowledged.&lt;br /&gt;
 */&lt;br /&gt;
public class ForeachArray {&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
    String[] data = { &amp;quot;Toronto&amp;quot;, &amp;quot;Stockholm&amp;quot; };&lt;br /&gt;
    for (String s : data) {&lt;br /&gt;
      System.out.println(s);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Java for in (forin): line-by-line iteration through a text file ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
License for Java 1.5 &amp;quot;Tiger&amp;quot;: A Developer&amp;quot;s Notebook&lt;br /&gt;
     (O&amp;quot;Reilly) example package&lt;br /&gt;
Java 1.5 &amp;quot;Tiger&amp;quot;: A Developer&amp;quot;s Notebook (O&amp;quot;Reilly) &lt;br /&gt;
by Brett McLaughlin and David Flanagan.&lt;br /&gt;
ISBN: 0-596-00738-8&lt;br /&gt;
You can use the examples and the source code any way you want, but&lt;br /&gt;
please include a reference to where it comes from if you use it in&lt;br /&gt;
your own products or services. Also note that this software is&lt;br /&gt;
provided by the author &amp;quot;as is&amp;quot;, with no expressed or implied warranties. &lt;br /&gt;
In no event shall the author be liable for any direct or indirect&lt;br /&gt;
damages arising in any way out of the use of this software.&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
import java.util.Iterator;&lt;br /&gt;
import java.io.BufferedReader;&lt;br /&gt;
import java.io.FileReader;&lt;br /&gt;
import java.io.IOException;&lt;br /&gt;
/**&lt;br /&gt;
 * This class allows line-by-line iteration through a text file.&lt;br /&gt;
 * The iterator&amp;quot;s remove() method throws UnsupportedOperatorException.&lt;br /&gt;
 * The iterator wraps and rethrows IOExceptions as IllegalArgumentExceptions.&lt;br /&gt;
 */&lt;br /&gt;
public class TextFile implements Iterable&amp;lt;String&amp;gt; {&lt;br /&gt;
  // Used by the TextFileIterator class below&lt;br /&gt;
  final String filename;&lt;br /&gt;
  public TextFile(String filename) { &lt;br /&gt;
    this.filename = filename; &lt;br /&gt;
  }&lt;br /&gt;
  // This is the one method of the Iterable interface&lt;br /&gt;
  public Iterator&amp;lt;String&amp;gt; iterator() { &lt;br /&gt;
    return new TextFileIterator(); &lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // This non-static member class is the iterator implementation&lt;br /&gt;
  class TextFileIterator implements Iterator&amp;lt;String&amp;gt; {&lt;br /&gt;
    // The stream we&amp;quot;re reading from&lt;br /&gt;
    BufferedReader in;&lt;br /&gt;
    // Return value of next call to next()&lt;br /&gt;
    String nextline;&lt;br /&gt;
    public TextFileIterator() {&lt;br /&gt;
      // Open the file and read and remember the first line.&lt;br /&gt;
      // We peek ahead like this for the benefit of hasNext().&lt;br /&gt;
      try {&lt;br /&gt;
        in = new BufferedReader(new FileReader(filename));&lt;br /&gt;
        nextline = in.readLine();&lt;br /&gt;
      } catch(IOException e) { &lt;br /&gt;
        throw new IllegalArgumentException(e); &lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    // If the next line is non-null, then we have a next line&lt;br /&gt;
    public boolean hasNext() { &lt;br /&gt;
      return nextline != null; &lt;br /&gt;
    }&lt;br /&gt;
    // Return the next line, but first read the line that follows it.&lt;br /&gt;
    public String next() {&lt;br /&gt;
      try {&lt;br /&gt;
        String result = nextline;&lt;br /&gt;
        // If we haven&amp;quot;t reached EOF yet&lt;br /&gt;
        if (nextline != null) {  &lt;br /&gt;
          nextline = in.readLine(); // Read another line&lt;br /&gt;
          if (nextline == null) &lt;br /&gt;
            in.close();             // And close on EOF&lt;br /&gt;
        }&lt;br /&gt;
        // Return the line we read last time through.&lt;br /&gt;
        return result;&lt;br /&gt;
      } catch(IOException e) { &lt;br /&gt;
        throw new IllegalArgumentException(e); &lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    // The file is read-only; we don&amp;quot;t allow lines to be removed.&lt;br /&gt;
    public void remove() { &lt;br /&gt;
      throw new UnsupportedOperationException(); &lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    String filename = &amp;quot;TextFile.java&amp;quot;;&lt;br /&gt;
    if (args.length &amp;gt; 0) &lt;br /&gt;
      filename = args[0];&lt;br /&gt;
    for(String line : new TextFile(filename))&lt;br /&gt;
      System.out.println(line);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Java for In(forin)  Tester ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
License for Java 1.5 &amp;quot;Tiger&amp;quot;: A Developer&amp;quot;s Notebook&lt;br /&gt;
     (O&amp;quot;Reilly) example package&lt;br /&gt;
Java 1.5 &amp;quot;Tiger&amp;quot;: A Developer&amp;quot;s Notebook (O&amp;quot;Reilly) &lt;br /&gt;
by Brett McLaughlin and David Flanagan.&lt;br /&gt;
ISBN: 0-596-00738-8&lt;br /&gt;
You can use the examples and the source code any way you want, but&lt;br /&gt;
please include a reference to where it comes from if you use it in&lt;br /&gt;
your own products or services. Also note that this software is&lt;br /&gt;
provided by the author &amp;quot;as is&amp;quot;, with no expressed or implied warranties. &lt;br /&gt;
In no event shall the author be liable for any direct or indirect&lt;br /&gt;
damages arising in any way out of the use of this software.&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
import java.io.IOException;&lt;br /&gt;
import java.io.PrintStream;&lt;br /&gt;
import java.util.Iterator;&lt;br /&gt;
import java.util.LinkedList;&lt;br /&gt;
import java.util.List;&lt;br /&gt;
public class ForInTester {&lt;br /&gt;
  public ForInTester() {&lt;br /&gt;
  }&lt;br /&gt;
  public List getList() {&lt;br /&gt;
    List list = new LinkedList();&lt;br /&gt;
    for (int i = 1; i &amp;lt;= 100; i++) {&lt;br /&gt;
      list.add(&amp;quot;Item &amp;quot; + i);&lt;br /&gt;
    }&lt;br /&gt;
    return list;&lt;br /&gt;
  }&lt;br /&gt;
  /**&lt;br /&gt;
   * &amp;lt;p&amp;gt;Test a very basic, pre-Java 1.5 for loop&amp;lt;/p&amp;gt;&lt;br /&gt;
   */&lt;br /&gt;
  public void testForLoop(PrintStream out) throws IOException {&lt;br /&gt;
    List list = getList(); // initialize this list elsewhere&lt;br /&gt;
    for (Iterator i = list.iterator(); i.hasNext(); ) {&lt;br /&gt;
      Object listElement = i.next();&lt;br /&gt;
      out.println(listElement.toString());&lt;br /&gt;
      // Do something else with this list object&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  /**&lt;br /&gt;
   * &amp;lt;p&amp;gt;Test a very basic, Java 1.5 for/in loop&amp;lt;/p&amp;gt;&lt;br /&gt;
   */&lt;br /&gt;
  public void testForInLoop(PrintStream out) throws IOException {&lt;br /&gt;
    List list = getList(); // initialize this list elsewhere&lt;br /&gt;
    for (Object listElement : list) {&lt;br /&gt;
      out.println(listElement.toString());&lt;br /&gt;
      // Do something else with this list object&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  /**&lt;br /&gt;
   * &amp;lt;p&amp;gt;Test a simple array iteration&amp;lt;/p&amp;gt;&lt;br /&gt;
   */&lt;br /&gt;
  public void testArrayLooping(PrintStream out) throws IOException {&lt;br /&gt;
    int[] primes = new int[] { 2, 3, 5, 7, 11, 13, 17, 19, 23, 29 };&lt;br /&gt;
    &lt;br /&gt;
    // Print the primes out using a for/in loop&lt;br /&gt;
    for (int n : primes) {&lt;br /&gt;
      out.println(n);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  /**&lt;br /&gt;
   * &amp;lt;p&amp;gt;Test an object array iteration&amp;lt;/p&amp;gt;&lt;br /&gt;
   */&lt;br /&gt;
  public void testObjectArrayLooping(PrintStream out) throws IOException {&lt;br /&gt;
    List[] list_array = new List[3];&lt;br /&gt;
    list_array[0] = getList();&lt;br /&gt;
    list_array[1] = getList();&lt;br /&gt;
    list_array[2] = getList();&lt;br /&gt;
    for (List l : list_array) {&lt;br /&gt;
      out.println(l.getClass().getName());&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  /**&lt;br /&gt;
   * &amp;lt;p&amp;gt;Show list position in a loop (not possible with for/in)&amp;lt;/p&amp;gt;&lt;br /&gt;
   */&lt;br /&gt;
  public void determineListPosition(PrintStream out, String[] args) &lt;br /&gt;
    throws IOException {&lt;br /&gt;
    List&amp;lt;String&amp;gt; wordList = new LinkedList&amp;lt;String&amp;gt;();&lt;br /&gt;
    // Impossible to assign the words, since the iterator is used&lt;br /&gt;
    for (int i=0; i&amp;lt;args.length; i++) {&lt;br /&gt;
      wordList.add(&amp;quot;word &amp;quot; + (i+1) + &amp;quot;: &amp;quot;&amp;quot; + args[i] + &amp;quot;&amp;quot;&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    // You can print the words using for/in, but not assign them&lt;br /&gt;
    for (String word : wordList) {&lt;br /&gt;
      out.println(word);&lt;br /&gt;
    }&lt;br /&gt;
    StringBuffer longList = new StringBuffer();&lt;br /&gt;
    for (int i = 0, len=wordList.size(); i &amp;lt; len; i++) {&lt;br /&gt;
      if (i &amp;lt; (len-1)) {&lt;br /&gt;
        longList.append(wordList.get(i))&lt;br /&gt;
                .append(&amp;quot;, &amp;quot;);&lt;br /&gt;
      } else {&lt;br /&gt;
        longList.append(wordList.get(i));&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    out.println(longList);&lt;br /&gt;
  }&lt;br /&gt;
  /**&lt;br /&gt;
   * &amp;lt;p&amp;gt;for/in can&amp;quot;t remove items using an Iterator&amp;lt;/p&amp;gt;&lt;br /&gt;
   */&lt;br /&gt;
  public void removeListItems(PrintStream out, String[] args) &lt;br /&gt;
    throws IOException {&lt;br /&gt;
    List&amp;lt;String&amp;gt; wordList = new LinkedList&amp;lt;String&amp;gt;();&lt;br /&gt;
    // Assign some words&lt;br /&gt;
    for (int i=0; i&amp;lt;args.length; i++) {&lt;br /&gt;
      wordList.add(&amp;quot;word &amp;quot; + (i+1) + &amp;quot;: &amp;quot;&amp;quot; + args[i] + &amp;quot;&amp;quot;&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    // Remove all words with &amp;quot;1&amp;quot; in them. Impossible with for/in&lt;br /&gt;
    for (Iterator i = wordList.iterator(); i.hasNext(); ) {&lt;br /&gt;
      String word = (String)i.next();&lt;br /&gt;
      if (word.indexOf(&amp;quot;1&amp;quot;) != -1) {&lt;br /&gt;
        i.remove();&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    // You can print the words using for/in&lt;br /&gt;
    for (String word : wordList) {&lt;br /&gt;
      out.println(word);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    try {&lt;br /&gt;
      String[] s = new String[]{&amp;quot;a&amp;quot;,&amp;quot;b&amp;quot;,&amp;quot;c&amp;quot;};&lt;br /&gt;
      &lt;br /&gt;
      &lt;br /&gt;
      &lt;br /&gt;
      ForInTester tester = new ForInTester();&lt;br /&gt;
      tester.testForLoop(System.out);&lt;br /&gt;
      tester.testForInLoop(System.out);&lt;br /&gt;
      tester.testArrayLooping(System.out);&lt;br /&gt;
      tester.testObjectArrayLooping(System.out);&lt;br /&gt;
      tester.determineListPosition(System.out, s);&lt;br /&gt;
      tester.removeListItems(System.out, s);&lt;br /&gt;
      &lt;br /&gt;
    } catch (Exception e) {&lt;br /&gt;
      e.printStackTrace();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Java for in (forin) with Collection ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
License for Java 1.5 &amp;quot;Tiger&amp;quot;: A Developer&amp;quot;s Notebook&lt;br /&gt;
     (O&amp;quot;Reilly) example package&lt;br /&gt;
Java 1.5 &amp;quot;Tiger&amp;quot;: A Developer&amp;quot;s Notebook (O&amp;quot;Reilly) &lt;br /&gt;
by Brett McLaughlin and David Flanagan.&lt;br /&gt;
ISBN: 0-596-00738-8&lt;br /&gt;
You can use the examples and the source code any way you want, but&lt;br /&gt;
please include a reference to where it comes from if you use it in&lt;br /&gt;
your own products or services. Also note that this software is&lt;br /&gt;
provided by the author &amp;quot;as is&amp;quot;, with no expressed or implied warranties. &lt;br /&gt;
In no event shall the author be liable for any direct or indirect&lt;br /&gt;
damages arising in any way out of the use of this software.&lt;br /&gt;
*/&lt;br /&gt;
import java.util.ArrayList;&lt;br /&gt;
import java.util.HashSet;&lt;br /&gt;
import java.util.List;&lt;br /&gt;
import java.util.Set;&lt;br /&gt;
public class ForInDemo {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    // These are collections we&amp;quot;ll iterate over below.&lt;br /&gt;
    List wordlist = new ArrayList();&lt;br /&gt;
    Set wordset = new HashSet();&lt;br /&gt;
    // We start with a basic loop over the elements of an array.&lt;br /&gt;
    // The body of the loop is executed once for each element of args[].&lt;br /&gt;
    // Each time through one element is assigned to the variable word.&lt;br /&gt;
    System.out.println(&amp;quot;Assigning arguments to lists...&amp;quot;);&lt;br /&gt;
    for(String word : args) {&lt;br /&gt;
      System.out.print(word + &amp;quot; &amp;quot;);&lt;br /&gt;
      wordlist.add(word);&lt;br /&gt;
      wordset.add(word);&lt;br /&gt;
    }&lt;br /&gt;
    System.out.println();&lt;br /&gt;
    // Iterate through the elements of the List now.&lt;br /&gt;
    // Since lists have an order, these words should appear as above&lt;br /&gt;
    System.out.println(&amp;quot;Printing words from wordlist &amp;quot; +&lt;br /&gt;
      &amp;quot;(ordered, with duplicates)...&amp;quot;);&lt;br /&gt;
    for(Object word : wordlist) {&lt;br /&gt;
      System.out.print((String)word + &amp;quot; &amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    System.out.println();&lt;br /&gt;
    // Do the same for the Set. The loop looks the same but by virtue of&lt;br /&gt;
    // using a Set, we lose the word order and also discard duplicates.&lt;br /&gt;
    System.out.println(&amp;quot;Printing words from wordset &amp;quot; +&lt;br /&gt;
      &amp;quot;(unordered, no duplicates)...&amp;quot;);&lt;br /&gt;
    for(Object word : wordset) {&lt;br /&gt;
      System.out.print((String)word + &amp;quot; &amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Java for in (forin) with generic Collection ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
License for Java 1.5 &amp;quot;Tiger&amp;quot;: A Developer&amp;quot;s Notebook&lt;br /&gt;
     (O&amp;quot;Reilly) example package&lt;br /&gt;
Java 1.5 &amp;quot;Tiger&amp;quot;: A Developer&amp;quot;s Notebook (O&amp;quot;Reilly) &lt;br /&gt;
by Brett McLaughlin and David Flanagan.&lt;br /&gt;
ISBN: 0-596-00738-8&lt;br /&gt;
You can use the examples and the source code any way you want, but&lt;br /&gt;
please include a reference to where it comes from if you use it in&lt;br /&gt;
your own products or services. Also note that this software is&lt;br /&gt;
provided by the author &amp;quot;as is&amp;quot;, with no expressed or implied warranties. &lt;br /&gt;
In no event shall the author be liable for any direct or indirect&lt;br /&gt;
damages arising in any way out of the use of this software.&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
import java.util.ArrayList;&lt;br /&gt;
import java.util.HashSet;&lt;br /&gt;
import java.util.List;&lt;br /&gt;
import java.util.Set;&lt;br /&gt;
public class ForInGenericsDemo {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    // These are collections we&amp;quot;ll iterate over below.&lt;br /&gt;
    List&amp;lt;String&amp;gt; wordlist = new ArrayList&amp;lt;String&amp;gt;();&lt;br /&gt;
    Set&amp;lt;String&amp;gt; wordset = new HashSet&amp;lt;String&amp;gt;();&lt;br /&gt;
    // We start with a basic loop over the elements of an array.&lt;br /&gt;
    // The body of the loop is executed once for each element of args[].&lt;br /&gt;
    // Each time through one element is assigned to the variable word.&lt;br /&gt;
    System.out.println(&amp;quot;Assigning arguments to lists...&amp;quot;);&lt;br /&gt;
    for(String word : args) {&lt;br /&gt;
      System.out.print(word + &amp;quot; &amp;quot;);&lt;br /&gt;
      wordlist.add(word);&lt;br /&gt;
      wordset.add(word);&lt;br /&gt;
    }&lt;br /&gt;
    System.out.println();&lt;br /&gt;
    // Iterate through the elements of the List now.&lt;br /&gt;
    // Since lists have an order, these words should appear as above&lt;br /&gt;
    System.out.println(&amp;quot;Printing words from wordlist &amp;quot; +&lt;br /&gt;
      &amp;quot;(ordered, with duplicates)...&amp;quot;);&lt;br /&gt;
    for(String word : wordlist) {&lt;br /&gt;
      System.out.print(word + &amp;quot; &amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    System.out.println();&lt;br /&gt;
    // Do the same for the Set. The loop looks the same but by virtue of&lt;br /&gt;
    // using a Set, we lose the word order and also discard duplicates.&lt;br /&gt;
    System.out.println(&amp;quot;Printing words from wordset &amp;quot; +&lt;br /&gt;
      &amp;quot;(unordered, no duplicates)...&amp;quot;);&lt;br /&gt;
    for(String word : wordset) {&lt;br /&gt;
      System.out.print(word + &amp;quot; &amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Search an array using foreach(for each) style for.  ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
    int nums[] = { 6, 8, 3, 7, 5, 6, 1, 4 };&lt;br /&gt;
    int val = 5;&lt;br /&gt;
    boolean found = false;&lt;br /&gt;
    for (int x : nums) {&lt;br /&gt;
      if (x == val) {&lt;br /&gt;
        found = true;&lt;br /&gt;
        break;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    if (found)&lt;br /&gt;
      System.out.println(&amp;quot;Value found!&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Simple demo to print all the types of an enum ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 * Copyright (c) Ian F. Darwin, http://www.darwinsys.ru/, 1996-2002.&lt;br /&gt;
 * All rights reserved. Software written by Ian F. Darwin and others.&lt;br /&gt;
 * $Id: LICENSE,v 1.8 2004/02/09 03:33:38 ian Exp $&lt;br /&gt;
 *&lt;br /&gt;
 * Redistribution and use in source and binary forms, with or without&lt;br /&gt;
 * modification, are permitted provided that the following conditions&lt;br /&gt;
 * are met:&lt;br /&gt;
 * 1. Redistributions of source code must retain the above copyright&lt;br /&gt;
 *    notice, this list of conditions and the following disclaimer.&lt;br /&gt;
 * 2. Redistributions in binary form must reproduce the above copyright&lt;br /&gt;
 *    notice, this list of conditions and the following disclaimer in the&lt;br /&gt;
 *    documentation and/or other materials provided with the distribution.&lt;br /&gt;
 *&lt;br /&gt;
 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS&amp;quot;&amp;quot;&lt;br /&gt;
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED&lt;br /&gt;
 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR&lt;br /&gt;
 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS&lt;br /&gt;
 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR&lt;br /&gt;
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF&lt;br /&gt;
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS&lt;br /&gt;
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN&lt;br /&gt;
 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)&lt;br /&gt;
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE&lt;br /&gt;
 * POSSIBILITY OF SUCH DAMAGE.&lt;br /&gt;
 * &lt;br /&gt;
 * Java, the Duke mascot, and all variants of Sun&amp;quot;s Java &amp;quot;steaming coffee&lt;br /&gt;
 * cup&amp;quot; logo are trademarks of Sun Microsystems. Sun&amp;quot;s, and James Gosling&amp;quot;s,&lt;br /&gt;
 * pioneering role in inventing and promulgating (and standardizing) the Java &lt;br /&gt;
 * language and environment is gratefully acknowledged.&lt;br /&gt;
 * &lt;br /&gt;
 * The pioneering role of Dennis Ritchie and Bjarne Stroustrup, of AT&amp;amp;T, for&lt;br /&gt;
 * inventing predecessor languages C and C++ is also gratefully acknowledged.&lt;br /&gt;
 */&lt;br /&gt;
/** Simple demo to print all the types of an enum. */&lt;br /&gt;
public class EnumList {&lt;br /&gt;
  enum State { ON, OFF, UNKNOWN };&lt;br /&gt;
  &lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    for (State i : State.values()) {&lt;br /&gt;
      System.out.println(i);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The foreach(for each) loop is essentially read-only. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
    int nums[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };&lt;br /&gt;
    for (int x : nums) {&lt;br /&gt;
      System.out.print(x + &amp;quot; &amp;quot;);&lt;br /&gt;
      x = x * 10; // no effect on nums&lt;br /&gt;
    }&lt;br /&gt;
    System.out.println();&lt;br /&gt;
    for (int x : nums)&lt;br /&gt;
      System.out.print(x + &amp;quot; &amp;quot;);&lt;br /&gt;
    System.out.println();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Use a foreach(for each) style for loop. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
public class ForEach {  &lt;br /&gt;
  public static void main(String args[]) {  &lt;br /&gt;
    int nums[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };  &lt;br /&gt;
    int sum = 0;  &lt;br /&gt;
 &lt;br /&gt;
    // use for-each style for to display and sum the values &lt;br /&gt;
    for(int x : nums) {  &lt;br /&gt;
      System.out.println(&amp;quot;Value is: &amp;quot; + x); &lt;br /&gt;
      sum += x;  &lt;br /&gt;
    }  &lt;br /&gt;
 &lt;br /&gt;
    System.out.println(&amp;quot;Summation: &amp;quot; + sum); &lt;br /&gt;
  }  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Use break with a foreach(for each) style for. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
public class ForEach2 {  &lt;br /&gt;
  public static void main(String args[]) {  &lt;br /&gt;
    int sum = 0;  &lt;br /&gt;
    int nums[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };  &lt;br /&gt;
 &lt;br /&gt;
    // Use for to display and sum the values. &lt;br /&gt;
    for(int x : nums) {  &lt;br /&gt;
      System.out.println(&amp;quot;Value is: &amp;quot; + x);  &lt;br /&gt;
      sum += x;  &lt;br /&gt;
      if(x == 5) break; // stop the loop when 5 is obtained  &lt;br /&gt;
    }  &lt;br /&gt;
    System.out.println(&amp;quot;Summation of first 5 elements: &amp;quot; + sum);  &lt;br /&gt;
  }  &lt;br /&gt;
} &lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Use foreach(for each) style for on a two-dimensional array. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
    int sum = 0;&lt;br /&gt;
    int nums[][] = new int[3][5];&lt;br /&gt;
    for (int i = 0; i &amp;lt; 3; i++)&lt;br /&gt;
      for (int j = 0; j &amp;lt; 5; j++)&lt;br /&gt;
        nums[i][j] = (i + 1) * (j + 1);&lt;br /&gt;
    for (int x[] : nums) {&lt;br /&gt;
      for (int y : x) {&lt;br /&gt;
        System.out.println(&amp;quot;Value is: &amp;quot; + y);&lt;br /&gt;
        sum += y;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    System.out.println(&amp;quot;Summation: &amp;quot; + sum);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Using a foreach(for each) for loop on an Iterable object. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.util.*; &lt;br /&gt;
 &lt;br /&gt;
class StrIterable implements Iterable&amp;lt;Character&amp;gt;, &lt;br /&gt;
                             Iterator&amp;lt;Character&amp;gt; { &lt;br /&gt;
  private String str; &lt;br /&gt;
  private int count = 0; &lt;br /&gt;
 &lt;br /&gt;
  StrIterable(String s) { &lt;br /&gt;
    str = s; &lt;br /&gt;
  } &lt;br /&gt;
 &lt;br /&gt;
  // The next three methods impement Iterator. &lt;br /&gt;
  public boolean hasNext() { &lt;br /&gt;
    if(count &amp;lt; str.length()) return true; &lt;br /&gt;
    return false; &lt;br /&gt;
  } &lt;br /&gt;
 &lt;br /&gt;
  public Character next() { &lt;br /&gt;
    if(count == str.length())  &lt;br /&gt;
      throw new NoSuchElementException(); &lt;br /&gt;
 &lt;br /&gt;
    count++; &lt;br /&gt;
    return str.charAt(count-1); &lt;br /&gt;
  } &lt;br /&gt;
 &lt;br /&gt;
  public void remove() { &lt;br /&gt;
    throw new UnsupportedOperationException(); &lt;br /&gt;
  } &lt;br /&gt;
 &lt;br /&gt;
  // This method implements Iterable. &lt;br /&gt;
  public Iterator&amp;lt;Character&amp;gt; iterator() { &lt;br /&gt;
    return this; &lt;br /&gt;
  } &lt;br /&gt;
} &lt;br /&gt;
 &lt;br /&gt;
public class MainClass {  &lt;br /&gt;
  public static void main(String args[]) {  &lt;br /&gt;
    StrIterable x = new StrIterable(&amp;quot;This is a test.&amp;quot;); &lt;br /&gt;
 &lt;br /&gt;
    for(char ch : x) &lt;br /&gt;
      System.out.print(ch); &lt;br /&gt;
 &lt;br /&gt;
    System.out.println(); &lt;br /&gt;
  }  &lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Using a foreach(for each) for loop with a collection.  ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
import java.util.ArrayList;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  static double getAvg(ArrayList&amp;lt;Double&amp;gt; nums) {&lt;br /&gt;
    double sum = 0.0;&lt;br /&gt;
    for (double itr : nums)&lt;br /&gt;
      sum = sum + itr;&lt;br /&gt;
    return sum / nums.size();&lt;br /&gt;
  }&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
    ArrayList&amp;lt;Double&amp;gt; list = new ArrayList&amp;lt;Double&amp;gt;();&lt;br /&gt;
    list.add(10.14);&lt;br /&gt;
    list.add(20.22);&lt;br /&gt;
    list.add(30.78);&lt;br /&gt;
    list.add(40.46);&lt;br /&gt;
    double avg = getAvg(list);&lt;br /&gt;
    System.out.println(&amp;quot;List average is &amp;quot; + avg);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;/div&gt;</summary>
			</entry>

	</feed>