/**
* @author lzcysd
*
*/
import java.util.*;
class Apple{
private static long counter;
private final long id = counter++;
public long id(){return id;}
}
class Orange{}
public class ArrayListTest {
/**
* @param args
*/
public static void main(String[] args) {
ArrayList <Apple> apples = new ArrayList <Apple>();
for(int i = 0; i < 3; i++){
apples.add(new Apple());
}
//apples.add(new Orange()); 编译期间报错,只能插入Apple类型的数据
for(int i = 0; i < apples.size();i++)
System.out.println(apples.get(i).id());
for(Apple c : apples) //foreach语句 java SE5新增
System.out.println(c.id());
}
}
/*运行结果
* 0
* 1
* 2
* 0
* 1
* 2
*/
下面说下foreach语句的用法
主要用于数组和容器(自动增量)
如上例,apples是被用于的数组名或容器名,c,没循环一次,c被赋一次值
public static void main(String[] args) {
for(char c:"An New Method".toCharArray())
System.out.print(c+" ");
/*运行结果
* A n N e w M e t h o d
*/
for(int i:range(5,20,3)) //5..20 step 3 找不到net.mindview.util.Range.* 错误
print(i + " "); //
}
----------------------------------------------------------------------------------------------------------------------------
import java.util.ArrayList;
/**
* 创建一个新类Gerbil(沙鼠),包含int gerbilNumber,
* 在构造器中初始化它。添加一个方法hop(),用以打印沙鼠的号码以及他
* 正在跳跃的信息。创建一个ArrayList,并向其中添加一串Gerbil对象。
* 使用get()遍历List,并且对每个Gerbil调用hop()
*/
/**
* @author lzcysd
*
*/
public class Gerbil {
private static int counter;
private int gerbilNumber;
private String hopInfo; //跳跃的信息
public Gerbil(){
this("");
}
public Gerbil(String hI){
gerbilNumber = ++counter;
hopInfo = hI;
}
public void hop(){
System.out.println("沙鼠的号码为:" + gerbilNumber + "跳跃的信息为:" + hopInfo);
}
/**
* @param args
*/
public static void main(String[] args) {
ArrayList <Gerbil> gerbils = new ArrayList<Gerbil>();
gerbils.add(new Gerbil("25"));
gerbils.add(new Gerbil("26"));
gerbils.add(new Gerbil("24"));
gerbils.add(new Gerbil("25"));
//使用Iterator遍历List
Iterator<Gerbil> it = gerbils.iterator();
while(it.hasNext())
it.next().hop();
/*for(int i = 0; i < gerbils.size(); i++){
gerbils.get(i).hop();
}
/*
for(Gerbil g : gerbils){ //foreach语法;注意for不能写成foreach
g.hop();
}
*/
}
}
/*
* 沙鼠的号码为:1跳跃的信息为:25
* 沙鼠的号码为:2跳跃的信息为:26
* 沙鼠的号码为:3跳跃的信息为:24
* 沙鼠的号码为:4跳跃的信息为:25
*/