黑马程序员技术交流社区

标题: 求救 [打印本页]

作者: 张东贤    时间: 2013-3-20 21:24
标题: 求救
本帖最后由 张东贤 于 2013-3-20 22:24 编辑

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



感谢各位大神帮忙,自己以实现出来,谢谢大家
作者: 随风而去    时间: 2013-3-20 21:35
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;
        }
}
作者: 刘辉    时间: 2013-3-20 21:48
//创建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());
                }

        }
}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2