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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张东贤 中级黑马   /  2013-3-20 21:24  /  1417 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 张东贤 于 2013-3-20 22:24 编辑

求救,谁能简单实现一下arraylist的代码啊



感谢各位大神帮忙,自己以实现出来,谢谢大家

2 个回复

倒序浏览
import java.util.Collection;
public class MyArrayList {
        //存放数据的数组
        private E[] obj;
        // 存放元素的个数
        private int index;
        //数组的容量
        private int capcity =5;
        //容量递增量    大概就是这个有点难度
        private int offset =5;
       
       
        public MyArrayList(){
                obj = (E[]) new Object[capcity];
        }
       
        public MyArrayList(int intCapcity){
                this.capcity = intCapcity;
                obj = (E[]) new Object[capcity];
        }
       
        public MyArrayList(Collection col){
                this.capcity =col.size();
                obj = (E[]) n
                ew Object[capcity];
                System.arraycopy(col,0,obj,0,col.size());
        }
       
        public int size() {
                return this.size();
        }
       
        public boolean isEmpty(){
                return index =0?ture:false;
        }
       
        public void clear() {
                this.capcity = 5;
                obj = (E[]) new Object[capcity];
                this.index = 0;
        }
       
        public E get(int x) {
                try {
                        if(x >= index){
                        throw (new ArrayIndexOutOfBoundsException());
                        }
            }
            catch (ArrayIndexOutOfBoundsException ex) {
                    ex.prinStackTrace();
            }
                return null;
        }
       
        publci boolean add(E o) {
                boolean bool = false ;
                //要等于容量大小
                if(index ==this.capcity){
                        this.capcity +=this.offset;
                        E[] temp = (E[])new Object[this.capcity];
                        System.arraycopy(obj,0,temp,0,index);
                        this.obj =temp;                       
                }
                obj[index++] = o;
                return bool;
        }
}

评分

参与人数 1技术分 +1 收起 理由
洪建超 + 1

查看全部评分

回复 使用道具 举报
//创建Person类
public class Person {
        private String name;
        private int age;

        public Person() {
        }

        public Person(String name, int age) {
                this.name = name;
                this.age = age;
        }

        public String getName() {
                return name;
        }

        public void setName(String name) {
                this.name = name;
        }

        public int getAge() {
                return age;
        }

        public void setAge(int age) {
                this.age = age;
        }

}
import java.util.ArrayList;
import java.util.Iterator;

/*
* 用ArrayList存储自定义对象并遍历
*/
public class ArrayListDemo2 {
        public static void main(String[] args) {
                // 创建集合对象
                ArrayList array = new ArrayList();

                // 创建元素对象
                Person p1 = new Person("樱木花道", 18);
                Person p2 = new Person("流川枫", 18);
                Person p3 = new Person("赤木", 20);

                // 添加元素
                array.add(p1);
                array.add(p2);
                array.add(p3);

                // 遍历
                Iterator it = array.iterator();
                while (it.hasNext()) {
                        Person p = (Person) it.next();
                        System.out.println(p.getName() + "***" + p.getAge());
                }

                System.out.println("*********************");
                for (int x = 0; x < array.size(); x++) {
                        Person p = (Person) array.get(x);
                        System.out.println(p.getName() + "***" + p.getAge());
                }

        }
}

评分

参与人数 1技术分 +1 收起 理由
洪建超 + 1

查看全部评分

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