Java 5.0中改進(jìn)的for循環(huán)
Posted on 2005-09-12 23:44 Justfly Shi 閱讀(1650) 評(píng)論(0) 編輯 收藏 所屬分類(lèi): Study Tiger改進(jìn)的for循環(huán)是Java 5.0中的一個(gè)讓我很喜歡的改進(jìn)。它只對(duì)數(shù)組和實(shí)現(xiàn)了java.util.Iterable接口的容器類(lèi)有效。
輸出結(jié)果
printing ints:
1
2
3
4
print Strings in an Collection:
String0
String1
String2
String3
print Stings in an Iterable
String0
String1
String2
String3
package cn.justfly.study.tiger.enhancedfor;
import java.util.ArrayList;
import java.util.Collection;
/**
* The demo of enhanced for statement
* it can only used for array and classes implements java.util.Iterable interface
* @author Justfly Shi
* created at 2005-8-28 21:42:12
*/
public class EnhancedFor {
/**
* @param args
*/
public static void main(String[] args) {
//for array
int[] intArray={1,2,3,4};
System.out.println("printing ints:");
for(int i:intArray){
System.out.println(i);
}
//for Collection
Collection<String> list=new ArrayList<String>();
for(int i=0;i<4;i++){
list.add("String"+i);
}
System.out.println("print Strings in an Collection:");
for(String i:list){
System.out.println(i);
}
//self-define Iterable
MyIterable<String> myIte=new MyIterable<String>(list);
System.out.println("print Stings in an Iterable");
for(String i:myIte){
System.out.println(i);
}
}
}
import java.util.ArrayList;
import java.util.Collection;
/**
* The demo of enhanced for statement
* it can only used for array and classes implements java.util.Iterable interface
* @author Justfly Shi
* created at 2005-8-28 21:42:12
*/
public class EnhancedFor {
/**
* @param args
*/
public static void main(String[] args) {
//for array
int[] intArray={1,2,3,4};
System.out.println("printing ints:");
for(int i:intArray){
System.out.println(i);
}
//for Collection
Collection<String> list=new ArrayList<String>();
for(int i=0;i<4;i++){
list.add("String"+i);
}
System.out.println("print Strings in an Collection:");
for(String i:list){
System.out.println(i);
}
//self-define Iterable
MyIterable<String> myIte=new MyIterable<String>(list);
System.out.println("print Stings in an Iterable");
for(String i:myIte){
System.out.println(i);
}
}
}
package cn.justfly.study.tiger.enhancedfor;
import java.util.Collection;
import java.util.Iterator;
/**
* an self-defined Iterable ,that can be used in enhanced-for statement
* @author Justfly Shi
* created at 2005-8-28 22:09:05
* @param
*/
public class MyIterable<G_E> implements Iterable<G_E> {
private Collection<G_E> _list;
public Iterator<G_E> iterator() {
return new MyIterator<G_E>(_list.iterator());
}
public MyIterable(Collection<G_E> list) {
_list = list;
}
class MyIterator<G_I> implements Iterator<G_I> {
private Iterator<G_I> _ite;
MyIterator(Iterator<G_I> ite) {
_ite = ite;
}
public boolean hasNext() {
return _ite.hasNext();
}
public G_I next() {
return _ite.next();
}
public void remove() {
_ite.remove();
}
}
}
import java.util.Collection;
import java.util.Iterator;
/**
* an self-defined Iterable ,that can be used in enhanced-for statement
* @author Justfly Shi
* created at 2005-8-28 22:09:05
* @param
public class MyIterable<G_E> implements Iterable<G_E> {
private Collection<G_E> _list;
public Iterator<G_E> iterator() {
return new MyIterator<G_E>(_list.iterator());
}
public MyIterable(Collection<G_E> list) {
_list = list;
}
class MyIterator<G_I> implements Iterator<G_I> {
private Iterator<G_I> _ite;
MyIterator(Iterator<G_I> ite) {
_ite = ite;
}
public boolean hasNext() {
return _ite.hasNext();
}
public G_I next() {
return _ite.next();
}
public void remove() {
_ite.remove();
}
}
}
輸出結(jié)果
printing ints:
1
2
3
4
print Strings in an Collection:
String0
String1
String2
String3
print Stings in an Iterable
String0
String1
String2
String3