设计简单的ArrayList集合功能

实例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());

        }
    }

}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值