容器第一部分

一、容器

容器的功能便是对数据进行容纳和管理,数组同样可以做到容纳,但功能性不如容器

数组的优势:是一种简单的线性序列,可以快速地访问数组元素,效率高。如果从效率和类型检查的角度讲,数组是最好的。
数组的劣势:不灵活。容量需要事先定义好,不能随着需求的变化而扩容。
因此,我们在一些方面需要使用容器进行处理,容器更加灵活,对数据的管理更为方便,且可以随时扩容。
来源自尚学堂容器的接口层次结构图

二、泛型
了解容器之前,需要先了解泛型的概念,泛型即指“数据类型的参数化”,一方面,对数据进行参数化,可以对数据更好的进行分类容纳,另一方面,在使用数据时,逻辑管理上更清晰,我们可以把“泛型”理解为数据类型的一个占位符(形式参数),即告诉编译器,在调用泛型时必须传入实际类型(实际数据类型)。

示例:
数组

package generic;

public class 泛型 {                    //中文类名不规范!
	public static void main(String[] args) {
		MyCollection a=new MyCollection();
		a.set("a", 0);
		a.set(1, 2);
		Integer c=(Integer)a.get(2);
		String b=(String)a.get(0);
		System.out.println(c);
		System.out.println(b);
	}
}
class  MyCollection{
		Object[] c= new Object [5];
		public void set(Object i,int index){
			c[index] =i;
		}
		public Object get(int index){           //取得指定索引数据-public Object get(int index)
			return c[index];
		}
	}



泛型

package generic;

public class 泛型 {
	public static void main(String[] args) {
		MyCollection<String> a=new MyCollection<String>();
		a.set("a", 0);
		a.set("2", 2);
		String c=(String)a.get(1);
		String b=(String)a.get(0);
		System.out.println(c);
		System.out.println(b);
		
	}
}
class  MyCollection<E>{
		Object[] c= new Object [5];
		public void set(E i,int index){
			c[index] =i;
		}
		public E get(int index){         //取得指定索引数据-public E get(int index)
			return(E) c[index];
		}
	}


可以看到规定了容器中要容纳的类型,E为形参,String为实参。
其中形参一般用E,T,V表示,也可以是其他标识符。
泛型并不是必备的,但是面对不同数据类型都需要处理的情况,泛型往往会使数据方便管理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值