数据结构--泛型数组的使用

如何定义一个接口

我们采用interface的方法来进行定义

public interface MyList <E>{

	
	//添加元素
	public void add(E e);
	//获取数组的大小
	public int GetSize();
	//返回某一个位置的元素
	public E element(int index);
}

在这个里面定义了一个泛型的接口,我们在调用的时候可以使用任意类型
MyList ,在尖括号里面是一个类型的声明,这里可以填写任意值。
在这个接口中我们定义了三个函数,分别为添加元素,获取数组大小,返回某一个位置的元素。

实现这个接口中的函数

public class MarrList implements MyList<Object>{

	private int Size=0;
	private Object list[]= new Object[Size];
	
	//添加元素
		public void add(Object e){
			Object list1[]=new Object[Size+1];
			for(int i=0;i<Size;i++){
				list1[i]=list[i];
			}
			list1[Size]=e;
			Size++;
			list=list1;
		}
		//获取数组的大小
		public int GetSize(){
			return Size;
		}
		//返回某一个位置的元素
		public Object element(int index){
			return list[index];
		}
}

Object是所有类型的父类。我们现在还不知道实现了什么类型,所有我们声明一个Object类型即可。

主函数实现

public class show {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

		MarrList pair =new MarrList();
		pair.add(1);
		pair.add(2);
		int a=0;
		for(int i=0;i<pair.GetSize();i++){
			System.out.println((int)pair.element(i));
			a+=(int)pair.element(i);
		}
		System.out.println(a);
	}

}

这里我们需要做一个强制转换,这是因为我们调用的是一个Object,而我们传入的是一个整型,所以我们需要强制转换变回原来的类型

结果

输出的结果是1 2 3
所以我们测试可知我们传入的两个值成功的传入了不定长数组中,而且通过强制转换依旧是整型。

发布了32 篇原创文章 · 获赞 25 · 访问量 4101

猜你喜欢

转载自blog.csdn.net/weixin_44143695/article/details/103599067