自己实现一个类似的ArrayList数组

本文介绍了一个自己编写的简单容器,包括三个核心部分:定义了根类型数组,实现了添加元素的add()函数,以及获取元素的get()函数。适合初学者了解ArrayList的基本原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

自己编写的简单容器由如下几个部分组成(只是简单的,仅供参考):

  1. 定义一个根类型的数组。
  2. 定义添加元素的函数add()。
  3. 定义获取元素的函数get()。
package testcollection;

/**
 * 自己实现一个类似ArrayList的容器
 */

public class MyList {
	private Object[] value;   //定义一个根类型的数组,便于后面可以放入任意类型的元素
	
	private int size;
	
	public MyList() {
		this(10);
	}

	public MyList(int size) {
		if(size<0)
		{
			try {
				throw  new Exception();
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
		value=new Object[size];    //为数组设置大小
	}
	
	public void add(Object obj) {           //添加元素
		 value[size]=obj;
		 size++;
		 if(size>=value.length) {             //判断是否越界,是的话就对数组扩容
			 int newSize=value.length*2;
			 Object[] NewList=new Object[newSize];
			 for(int i=0;i<value.length;i++) {
				 NewList[i]=value[i];
			 }
		 }
	}
	public Object get(int index) {        //取出元素
		if(index<0||index>size-1)
		{
			try {
				throw  new Exception();
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
		return value[index];
	}
	
	public static void main(String[] args) {
		MyList m=new MyList();
		m.add("aaa");
		m.add("bbb");
		m.add("ccc");
		m.add("ddd");
		m.add(new Animals("狼"));             //添加引用类型的元素
		Animals a=(Animals)m.get(4);
		System.out.println(a.getName());
	}
	
}






package testcollection;

public class Animals {
	private String name;

	
	public Animals(String name) {
		super();
		this.name = name;
	}

	public String getName() {
		return name;
	}

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值