Java_109_容器_Collection_泛型_Generic

本文深入探讨了Java中的集合框架,包括Collection、Set、List和Map接口的不同实现类,如HashSet、ArrayList、LinkedList和HashMap。同时,文章详细解析了泛型的概念,展示了如何使用泛型创建类型安全的集合,提高代码的复用性和安全性。
package Test;
/**
 * 容器(Collection)
 * 数组就是一种容器,可以在其中放置对象或基本类型数据
 * 
 * 数组的优势:是一种简单的线性序列,可以快速的访问数组元素,效率高
 * 如果从效率和类型检查的角度讲,数组是最好的。
 * 
 * 数组的劣势:不灵活。容量需要事先定义好,不能随着需求的变化而扩容。
 * 比如:我们在一个用户管理系统中,要把今天注册的所有用户取出来,那么
 * 这样的用户有多少个?我们在写程序时无法确定的。因此,在这里我们就
 * 不能使用数组
 * 
 * interface Collection(容器/集合)
 *                |
 *            |---+-----------------------|
 * interface Set(无序,不可重复) interface List(有序,可重复)
 *            |                     |-----+-----|
 *(哈希实现类)HashSet  (数组实现类)ArrayList LinkedList(列表实现类)
 *
 * interface Map(Map接口中键和值一一映射. 可以通过键来获取值。)
 *            |
 *(哈希实现类)HashMap
 ***************************************************************
 * 泛型(Generic)
 * 泛型是JDK1.5以后增加的,它可以帮助我们建立类型安全的集合。
 * 泛型的本质就是“数据类型的参数化”。我们可以把“泛型”理解为数据类型的
 * 一个占位符(形式参数),即告诉编译器,在调用泛型时必须传入实际类型
 * 
 * 泛型的使用方法:在类的声明处增加泛型列表,如class Name <T,E,V>{类体}.
 * 此处,字符可以是任何标识符,一般采用这3个字母
 * 
 * @author pmc
 *
 */
public class GenericTest {
	public static void main(String[] args) {
		MyCollection<String> mc=new MyCollection<String>();
		mc.set("张三", 2);
		mc.set("8888", 0);
		//Integer a=(Integer)mc.get(0);
		String a=mc.get(0);
		String b=(String)mc.get(2);
		System.out.println(a);
		System.out.println(b);
	}
}
class MyCollection<E>{
	Object[] obj=new Object[5];
	public void set(E obj,int index){
		this.obj[index]=obj;
	}
	public E get(int index){
		return (E)this.obj[index];
	}
}

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr_Pmc

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值