失效链接处理 |
Java集合类原理详解 PDF 下载
本站整理下载:
链接: https://pan.baidu.com/s/1hJ3KgV6NqHCq2ew0aQFkrg
提取码: x64c
相关截图:
主要内容:
到目前为止,我们已经学习了如何创建多个不同的对象,定义了这些对象以后,我们就
可以利用它们来做一些有意义的事情。
举例来说,假设要存储许多雇员,不同的雇员的区别仅在于雇员的身份证号。我们可以
通过身份证号来顺序存储每个雇员,但是在内存中实现呢?是不是要准备足够的内存来存储
1000 个雇员,然后再将这些雇员逐一插入?如果已经插入了 500 条记录,这时需要插入一
个身份证号较低的新雇员,该怎么办呢?是在内存中将 500 条记录全部下移后,再从开头插
入新的记录? 还是创建一个映射来记住每个对象的位置?当决定如何存储对象的集合时,必
须考虑如下问题。
对于对象集合,必须执行的操作主要以下三种:
添加新的对象
删除对象
查找对象
我们必须确定如何将新的对象添加到集合中。可以将对象添加到集合的末尾、开头或者
中间的某个逻辑位置。
从集合中删除一个对象后,对象集合中现有对象会有什么影响呢?可能必须将内存移来
移去,或者就在现有对象所驻留的内存位置下一个“洞”。
在内存中建立对象集合后,必须确定如何定位特定对象。可建立一种机制,利用该机制
可根据某些搜索条件(例如身份证号)直接定位到目标对象;否则,便需要遍历集合中的每
个对象,直到找到要查找的对象为止。
前面大家已经学习过了数组。数组的作用是可以存取一组数据。但是它却存在一些缺点,
使得无法使用它来比较方便快捷的完成上述应用场景的要求。
1. 首先,在很多数情况下面,我们需要能够存储一组数据的容器,这一点虽然数组可
以实现,但是如果我们需要存储的数据的个数多少并不确定。比如说:我们需要在
容器里面存储某个应用系统的当前的所有的在线用户信息,而当前的在线用户信息
是时刻都可能在变化的。 也就是说,我们需要一种存储数据的容器,它能够自动
的改变这个容器的所能存放的数据数量的大小。这一点上,如果使用数组来存储的
话,就显得十分的笨拙。
2. 我们再假设这样一种场景:假定一个购物网站,经过一段时间的运行,我们已经存
储了一系列的购物清单了,购物清单中有商品信息。如果我们想要知道这段时间里
面有多少种商品被销售出去了。那么我们就需要一个容器能够自动的过滤掉购物清
单中的关于商品的重复信息。如果使用数组,这也是很难实现的。
3. 最后再想想,我们经常会遇到这种情况,我知道某个人的帐号名称,希望能够进一
步了解这个人的其他的一些信息。也就是说,我们在一个地方存放一些用户信息,
我们希望能够通过用户的帐号来查找到对应的该用户的其他的一些信息。再举个查
|