自定义容器

自定义容器(动态数组——队列)
作用:可以保存任意数量、任意数据类型的数据
下面用java语言实现容器的四大基本操作:增、删、查、改

1.增


package com.ywl;

public class Mylist
{
      //初始化原始数组长度为零
	int[] srcArray = new int[0];
	/*
	 * 向容器内添加元素(element)
	 */
	public void add(int element)
	{
		//创建新数组对象长度比原来的大一
		int[] newArray =new int[srcArray.length+1];
		//把原来数组的元素拷贝到新数组的相应位置
		for(int i=0;i<srcArray.length;i++){
			newArray[i]=srcArray[i];
		}
		//在新数组末端添加元素 element
		newArray[srcArray.length]=element;
		//把新数组赋值给原数组
		srcArray=newArray;
	}
	/*
	 * 获取中容器的长度
	 * 返回 长度
	 */
	public int getLength()
	{
		return srcArray.length;
	}
	/*
	 * 显示数组中的所有元数
	 */
	public void showAllelement()
	{
		System.out.println("数组中的元素为:");
		for(int i=0;i<srcArray.length;i++){
			System.out.println(srcArray[i]);
		}
	}
	/*
	 * 主函数
	 */
	public static void main(String[]arg)
	{
		//创建对象
		Mylist list = new Mylist();
		list.add(2);
		list.add(0);
		list.add(3);
		list.showAllelement();
	}
}

结果为:

数组中的元素为:
2
0
3

2.删

package com.ywl;
public class Mylist
{
	//初始化原始数组长度为零
	int[] srcArray = new int[0];
	/*
	 *向容器末尾添加指定的元素
	 * element要添加的元素
	 */
	public void add(int element){
		//创建新数组对象 长度比scrArray大一
		int[] newArray = new int[srcArray.length+1];
		//将原始数组中的元素拷贝到新数组的对应位置
		for(  int i=0;i<srcArray.length;i++){
			newArray[i]=srcArray[i];
		}
		//将element添加到newArray末尾
		newArray[srcArray.length]=element;
		//将newArray赋值给srcArray
		srcArray=newArray;
	}
	/*
	 * 删除容器的指定元素
	 */
	public void remove(int index)
	{   int i=index;
		//创建新数组对象长度比原来的小一
		int[] newArray =new int[srcArray.length-1];
		//把原来数组i之前的元素拷贝到新数组的相应位置
		for(int j=0;j<i;j++){
			newArray[j]=srcArray[j];
		}
		//把原数组i之后的元素拷贝的到数组的相应位置
		for(int j=i;j<srcArray.length-1;j++){
			newArray[j]=srcArray[j+1];
		}
		//把新数组赋值给原数组
		srcArray=newArray;
	}
	/*
	 * 获取中容器的长度
	 * 返回 长度
	 */
	public int getLength()
	{
		return srcArray.length;
	}
	/*
	 * 显示数组中的所有元数
	 */
	public void showAllelement()
	{
		System.out.println("数组中的元素为:");
		for(int i=0;i<srcArray.length;i++){
			System.out.println(srcArray[i]);
		}
	}
	/*
	 * 主函数
	 */
	public static void main(String[]arg)
	{
		//创建对象
		Mylist list = new Mylist();
		list.add(2);
		list.add(0);
		list.add(5);
		list.showAllelement();
		list.remove(2);
		list.showAllelement();
	}
}
结果为:

数组中的元素为:
2
0
5
数组中的元素为:
2
0

3查

package com.ywl;
public class Mylist
{
	//初始化原始数组长度为零
	int[] srcArray = new int[0];
	/*
	 *向容器末尾添加指定的元素
	 * element要添加的元素
	 */
	public void add(int element){
		//创建新数组对象 长度比scrArray大一
		int[] newArray = new int[srcArray.length+1];
		//将原始数组中的元素拷贝到新数组的对应位置
		for(  int i=0;i<srcArray.length;i++){
			newArray[i]=srcArray[i];
		}
		//将element添加到newArray末尾
		newArray[srcArray.length]=element;
		//将newArray赋值给srcArray
		srcArray=newArray;
	}
	/*
	 * 查找容器的指定位置的元素
	 */
	public int getlength(int index){
		return srcArray[index];
	}
	
	/*
	 * 获取中容器的长度
	 * 返回 长度
	 */
	public int getLength()
	{
		return srcArray.length;
	}
	/*
	 * 显示数组中的所有元数
	 */
	public void showAllelement()
	{
		System.out.println("数组中的元素为:");
		for(int i=0;i<srcArray.length;i++){
			System.out.println(srcArray[i]);
		}
	}
	/*
	 * 主函数
	 */
	public static void main(String[]arg)
	{
		//创建对象
		Mylist list = new Mylist();
		list.add(2);
		list.add(0);
		list.add(5);
		list.showAllelement();
		System.out.println("查找的元素为:"+list.getlength(1));
		
		
	}
		
}
结果为:

数组中的元素为:
2
0
5
查找的元素为:0
4.改

package com.ywl;
public class Mylist
{
	//初始化原始数组长度为零
	int[] srcArray = new int[0];
	/*
	 *向容器末尾添加指定的元素
	 * element要添加的元素
	 */
	public void add(int element){
		//创建新数组对象 长度比scrArray大一
		int[] newArray = new int[srcArray.length+1];
		//将原始数组中的元素拷贝到新数组的对应位置
		for(  int i=0;i<srcArray.length;i++){
			newArray[i]=srcArray[i];
		}
		//将element添加到newArray末尾
		newArray[srcArray.length]=element;
		//将newArray赋值给srcArray
		srcArray=newArray;
	}
	/*
	 * 修改容器指定位置的元素
	 */
	public int set(int index,int element)
	{
		//需要修改的数
		srcArray[index]=element;
		return element;
	}
	
	/*
	 * 获取中容器的长度
	 * 返回 长度
	 */
	public int getLength()
	{
		return srcArray.length;
	}
	/*
	 * 显示数组中的所有元数
	 */
	public void showAllelement()
	{
		System.out.println("数组中的元素为:");
		for(int i=0;i<srcArray.length;i++){
			System.out.println(srcArray[i]);
		}
	}
	/*
	 * 主函数
	 */
	public static void main(String[]arg)
	{
		//创建对象
		Mylist list = new Mylist();
		list.add(2);
		list.add(0);
		list.add(5);
		list.showAllelement();
	    list.set(0,4);//修改数组下标为0的元素
	    list.showAllelement();//修改之后的数组
		
		
	}
		
}
结果为:

数组中的元素为:
2
0
5
数组中的元素为:
4
0
5






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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值