设计简单的ArrayList集合功能

来源:互联网 发布:python 聚类算法 编辑:程序博客网 时间:2024/05/22 08:13

实例1:

设计一个String类型的集合,实现添加元素、获取元素、获取集合元素个数的功能

1.创建一个MyArrayList的类

 public class MyArrayList {    //定于一个String类型的数组    private String[] arrays = new String[3];    private int size = 0;    public void add(String obj) {//当数组元素大于设定元素值10,将元素扩大到原来的1.5倍;        if (size == arrays.length) {            String[] temp=new String[arrays.length*arrays.length/2];            for(int i=0;i<size;i++){                temp[i]=arrays[i];            }            arrays=temp;        }        arrays[size] = obj;        size++;    }//获取集合元素值    public String value(int index) {        return arrays[index];    }//获取集合元素个数    public int Length() {        return size;    }}

2.创建一个测试类Test调用MyArrayList方法

public class Test {    public static void main(String[] args) {        //实例化对象        MyArrayList arrs=new MyArrayList();        //添加元素        arrs.add("小明1");        arrs.add("小花2");        arrs.add("小花3");        arrs.add("小花4");        //循环输出        for(int i=0;i<arrs.Length();i++){            System.out.println(arrs.value(i));        }    }}

实例2:

设计一个接收对象类型的集合,实现添加元素、获取元素、获取集合元素个数的功能

1.创建一个Student的封装对象public class Student {    private String name;    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;    }    public String getSex() {        return sex;    }    public void setSex(String sex) {        this.sex = sex;    }    private int age;    private String sex;}

2.创建一个接收Student对象的数组

public class MyArrayList {    //定于一个Object类型的数组    private Object[] arrays = new Object[3];    private int size = 0;    public void add(Object obj) {//当数组元素大于设定元素值10,将元素扩大到原来的1.5倍;        if (size == arrays.length) {            Object[] temp=new Object[arrays.length*arrays.length/2];            for(int i=0;i<size;i++){                temp[i]=arrays[i];            }            arrays=temp;        }        arrays[size] = obj;        size++;    }//获取集合元素值    public Object value(int index) {        return arrays[index];    }//获取集合元素个数    public int Length() {        return size;    }}

3.创建主类Test调用方法

public class Test {    public static void main(String[] args) {        // 实例化对象        MyArrayList arrs = new MyArrayList();        Student stu = new Student();        stu.setName("校长");        stu.setAge(20);        stu.setSex("男");        arrs.add(stu);        // 添加元素        arrs.add("小明1");        arrs.add("小花2");        arrs.add("小花3");        arrs.add("小花4");        // 循环输出        for (int i = 0; i < arrs.Length(); i++) {            if (arrs.value(i) instanceof Student) {                System.out.print(((Student) arrs.value(i)).getName());                System.out.print(((Student) arrs.value(i)).getSex());                System.out.println(((Student) arrs.value(i)).getAge());            } else {                System.out.println(arrs.value(i));            }        }    }}

实例3:

创建一个泛型集合可以放任何的数据

1.创建Student封装类

public class Student {    private String name;    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;    }    public String getSex() {        return sex;    }    public void setSex(String sex) {        this.sex = sex;    }    private int age;    private String sex;}

2.创建方法类MyArrayList,

public class MyArrayList<E> {    //定于一个<泛型>类型的数组    private E [] arrays = (E[])new Object[3];    private int size = 0;    public void add(E obj) {//当数组元素大于设定元素值10,将元素扩大到原来的1.5倍;        if (size == arrays.length) {            E[] temp= (E[]) new Object[arrays.length*arrays.length/2];            for(int i=0;i<size;i++){                temp[i]=arrays[i];            }            arrays=temp;        }        arrays[size] = obj;        size++;    }//获取集合元素值    public E value(int index) {        return arrays[index];    }//获取集合元素个数    public int Length() {        return size;    }}

3.测试类Test

public class Test {    public static void main(String[] args) {        // 实例化对象        MyArrayList<Student> arrs = new MyArrayList<Student>();        Student stu = new Student();        stu.setName("校长");        stu.setAge(20);        stu.setSex("男");        arrs.add(stu);        // 循环输出        for (int i = 0; i < arrs.Length(); i++) {                System.out.print(((Student) arrs.value(i)).getName());                System.out.print(((Student) arrs.value(i)).getSex());                System.out.println(((Student) arrs.value(i)).getAge());        }    }}
原创粉丝点击