我是靠谱客的博主 潇洒夏天,最近开发中收集的这篇文章主要介绍自己实现一个类似的ArrayList数组,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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

  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;
	}
	
}

 

最后

以上就是潇洒夏天为你收集整理的自己实现一个类似的ArrayList数组的全部内容,希望文章能够帮你解决自己实现一个类似的ArrayList数组所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(54)

评论列表共有 0 条评论

立即
投稿
返回
顶部