A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 史小兵 中级黑马   /  2012-10-30 23:38  /  1512 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


这是自己模仿java写的一个ArrsyList的一个类只给出了两个方法,一个add()hesize()方法
public class ArrayList {
        Object[] array=new Object[20];
        static int index=0;
        public void add(Object o){
               
                if(index==array.length){
                        Object[] newArray=new Object[array.length * 2];
//                        直接将一个数组中的东西,一次性的考进到一个新的数组之中!
                        System.arraycopy(array, 0, newArray, 0, array.length);
                        array=newArray;
                }
                array[index]=o;
                index++;
        }
        public int size(){
                return index;
        }
       
}


这是自己写的测试程序

public class Test {
       
        public static void main(String[] args){
                ArrayList list=new ArrayList();
                for(int i=25;i<=0;i--){
                        list.add(new Object());
                }
//                       在此处为什么是输出的0?每次向数组中添加新的值时index都会自加一的啊!
                System.out.println(list.size());
        }

}
但是在这个程序中就可以正常输出
public class Test {
       
        public static void main(String[] args){
                ArrayList list=new ArrayList();
                for(int i=0;i<=25;i++){
                        list.add(new Object());
                }
//                       在此处为什么是输出的0?每次向数组中添加新的值时index都会自加一的啊!
                System.out.println(list.size());
        }

}
看了,半天源码还是有些迷惑!

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 赞一个!

查看全部评分

1 个回复

倒序浏览
  1.    public static void main(String[] args){
  2.         ArrayList list=new ArrayList();
  3.         for(int i=25;i>=0;i--){
  4.                 list.add(new Object());
  5.                 System.out.println("--");
  6.         }
  7. //               在此处为什么是输出的0?每次向数组中添加新的值时index都会自加一的啊!
  8.         System.out.println(list.size());
  9. }
复制代码
这样就对了,你把for循环的条件写错了, for(int i=25;i<=0;i++) 这个循环根本就进不去,所有就没有添加对象进list,list大小当然是0了。

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1 赞一个!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马