import java.io.InputStreamReader;
import java.io.BufferedReader;
import java.io.OutputStream;
import java.io.IOException;
import java.util.Date;
import java.util.Vector;public class J_COST
{
public void COST1()
{
Integer[] iarr = new Integer[0];
for(int i=0; i<N; i++) 
{
try 
{
iarr[i] = new Integer(i);

catch(ArrayIndexOutOfBoundsException e) 
{
Integer[] newArr = new Integer[iarr.length+1];
for(int j =0; j<iarr.length; j++)
newArr[j] = iarr[j];
newArr[iarr.length] = new Integer(i);
iarr = newArr;
}
}
} public void COST2()
{
Integer[] iarr = new Integer[N];
for(int i=0; i<N; i++)
{
iarr[i] = new Integer(i);
}
} public void COST3()
{
Vector<Integer> iarr = new Vector<Integer>(0);
System.out.println(iarr.capacity());
for(int i=0;i<N;i++)
{
iarr.add(i);
}
System.out.println(iarr.capacity());
} public  void int_input(BufferedReader in)
{
try
{
String s=in.readLine();
N=Integer.parseInt(s);
}
catch(Exception e)
{

}
}

public static void main(String args[])
{
System.out.println("please emter N:");
J_COST j=new J_COST();
BufferedReader f=new BufferedReader(new InputStreamReader(System.in));
j.int_input(f); Date c1start=new Date();
j.COST1();
Date c1end=new Date();
long c1=c1end.getTime()-c1start.getTime();
System.out.println("cost1:"+c1); Date c2start=new Date();
j.COST2();
Date c2end=new Date();
long c2=c2end.getTime()-c2start.getTime();
System.out.println("cost2:"+c2); Date c3start=new Date();
               // System.out.println(c3start.getTime());
j.COST3();
Date c3end=new Date();
               // System.out.println(c3end.getTime());
long c3=c3end.getTime()-c3start.getTime();
System.out.println("cost3:"+c3);
}
public int N;
}
我执行了后,(N=10000)有时候COST3的时间为0,有时候不为0