Java 1.5 Tiger A Developers Notebook [Electronic resources] نسخه متنی

اینجــــا یک کتابخانه دیجیتالی است

با بیش از 100000 منبع الکترونیکی رایگان به زبان فارسی ، عربی و انگلیسی

Java 1.5 Tiger A Developers Notebook [Electronic resources] - نسخه متنی

David Flanagan, Brett McLaughlin

| نمايش فراداده ، افزودن یک نقد و بررسی
افزودن به کتابخانه شخصی
ارسال به دوستان
جستجو در متن کتاب
بیشتر
تنظیمات قلم

فونت

اندازه قلم

+ - پیش فرض

حالت نمایش

روز نیمروز شب
جستجو در لغت نامه
بیشتر
لیست موضوعات
توضیحات
افزودن یادداشت جدید








7.3 Iterating over Collections


Iterating over a collection
works in just about the same way as iterating
over an array. The main difference is that you're going to have to add
some type-casting, as the objects within a collection aren't compile-time
determinable, except when using generics (see the next section on Avoiding Unnecessary Typecasts for details on generics and for/in).


7.3.1 How do I do that?


Example 7-1 is a simple program that shows several types of collection
iteration.


Example 7-1. Demonstrating the for/in loop with collections


package com.oreilly.tiger.ch07;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class ForInDemo {
public static void main(String[] args) {
// These are collections we'll iterate over below.
List wordlist = new ArrayList( );
Set wordset = new HashSet( );
// We start with a basic loop over the elements of an array.
// The body of the loop is executed once for each element of args[].
// Each time through one element is assigned to the variable word.
System.out.println("Assigning arguments to lists...");
for(String word : args) {
System.out.print(word + " ");
wordlist.add(word);
wordset.add(word);
}
System.out.println( );
// Iterate through the elements of the List now.
// Since lists have an order, these words should appear as above
System.out.println("Printing words from wordlist " +
"(ordered, with duplicates)...");
for(Object word : wordlist) {
System.out.print((String)word + " ");
}
System.out.println( );
// Do the same for the Set. The loop looks the same but by virtue of
// using a Set, we lose the word order and also discard duplicates.
System.out.println("Printing words from wordset " +
"(unordered, no duplicates)...");
for(Object word : wordset) {
System.out.print((String)word + " ");
}
}
}

NOTE

This example is culled from Java in a Nutshell,
Fifth Edition (O'Reilly).

NOTE

When compiling this class, you'll get several warnings from the compiler
because the code doesn't use a typed list, like List<String>.
I'll cover using generics with for/in later in the chapter.

This is pretty basic stuff, so I'll save a tree and cut out repetitive discussion.
Here's the output from the program, which should look exactly as
expected:

NOTE

If you're using the
build.xml supplied
with the
examples, just
type "ant runch07"
to see this
output.


run-ch07:
[echo] Running Chapter 7 examples from Java 1.5 Tiger: A Developer's
Notebook\n
[echo] Running ForInDemo...
[java] Assigning arguments to lists...
[java] word1 word2 word3 word4 word1
[java] Printing words from wordlist (ordered, with duplicates)...
[java] word1 word2 word3 word4 word1
[java] Printing words from wordset (unordered, no duplicates)...
[java] word4 word1 word3 word2


As in previous chapters, all program output is shown as it executes
within Ant. See the Preface for details on setting examples up.


/ 131