Java编程思想_11.持有对象(容器)_阅读笔记

1.容器产生背景
	程序总是根据运行时才知道的某些条件去创建新对象,在此之前,不知道所需对象数量和类型
	未解决这个普遍问题,需要在任意时刻和任意位置创建任意数量的对象,这就不能依靠命名的引用来持有每一个对象
	因为你不知道实际上需要多少这样的引用

2.容器类型
	Collection:存放元素
		List---有序
			ArrayList:查询快
			LinkedList:增删快
		Set----无序,无重复元素	
			HashSet:查询快
			TreeSet:按照比较结果的升序保存对象
			LinkedHashSet:按照被添加的顺序保存对象
		Queue---一端插入,另一端移出
	Map:存放键值对(键唯一)
		HashMap:查找最快,无序
		TreeMap:按照比较结果的升序保存键
		LinkedHashMap:按照插入顺序保存键,同时保留HashMap的查询速度

3.泛型
	标识容器中对象的类型,例如:ArrayList<User>
	通过使用泛型,可以在编译器防止将错误类型的对象放置到容器中

4.迭代器
	迭代器:接受一个容器对象,并传递它,在每个对象上都执行操作
	迭代器是一个对象,轻量级,创建它的代价小

	List<Pet> pets = Pets.arrayList(12);	
	Iterator<Pet> it = pets.iterator();	//定义迭代器对象:Iterator<Pet> it = pets.iterator();
	while(it.hasNext()){	//判断是否有下一个:it.hasNext()
		Pet p = it.next();	//下一个元素:Pet p = it.next();
	}

5.数组:根据数字保存对象,也可以是基本类型的数据,数组一旦生成,其容量就不可变

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值