欢迎来到天天文库
浏览记录
ID:41790247
大小:334.00 KB
页数:46页
时间:2019-09-02
《Java集合Collection、List、Set、Map使用详解资料》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、安徽工商职业学院Java集合排序及java集合类详解(Collection,List,Set,Map)摘要内容集合是Java里面最常用的,也是最重要的一部分。能够用好集合和理解好集合对于做Java程序的开发拥有无比的好处。本文详细解释了关于Java中的集合是如何实现的,以及他们的实现原理。目录1 集合框架21.1 集合框架概述21.1.1 容器简介21.1.2 容器的分类51.2 Collection61.2.1 常用方法61.2.2 迭代器91.3 List1
2、11.3.1 概述111.3.2 常用方法121.3.3 实现原理171.4 Map201.4.1 概述201.4.2 常用方法211.4.3 Comparable接口271.4.4 实现原理291.4.5 覆写hashCode()341.5 Set391.5.1 概述391.5.2 常用方法391.5.3 实现原理451.6 总结:集合框架中常用类比较462 练习473
3、 附录:排序481 集合框架电子信息系软件教研室胡贵恒安徽工商职业学院1.1 集合框架概述1.1.1 容器简介到目前为止,我们已经学习了如何创建多个不同的对象,定义了这些对象以后,我们就可以利用它们来做一些有意义的事情。举例来说,假设要存储许多雇员,不同的雇员的区别仅在于雇员的身份证号。我们可以通过身份证号来顺序存储每个雇员,但是在内存中实现呢?是不是要准备足够的内存来存储1000个雇员,然后再将这些雇员逐一插入?如果已经插入了500条记录,这时需要插入一个身份证号较低的新雇员,该怎么办呢?是在内存中将500条记录全
4、部下移后,再从开头插入新的记录?还是创建一个映射来记住每个对象的位置?当决定如何存储对象的集合时,必须考虑如下问题。对于对象集合,必须执行的操作主要以下三种:u 添加新的对象u 删除对象u 查找对象我们必须确定如何将新的对象添加到集合中。可以将对象添加到集合的末尾、开头或者中间的某个逻辑位置。从集合中删除一个对象后,对象集合中现有对象会有什么影响呢?可能必须将内存移来移去,或者就在现有对象所驻留的内存位置下一个“洞”。在内存中建立对象集合后,必须确定如何定位特定对象。可建立一种机制,利用该机制可根据某些搜索条件(例如身份证号)
5、直接定位到目标对象;否则,便需要遍历集合中的每个对象,直到找到要查找的对象为止。前面大家已经学习过了数组。数组的作用是可以存取一组数据。但是它却存在一些缺点,使得无法使用它来比较方便快捷的完成上述应用场景的要求。1. 电子信息系软件教研室胡贵恒安徽工商职业学院首先,在很多数情况下面,我们需要能够存储一组数据的容器,这一点虽然数组可以实现,但是如果我们需要存储的数据的个数多少并不确定。比如说:我们需要在容器里面存储某个应用系统的当前的所有的在线用户信息,而当前的在线用户信息是时刻都可能在变化的。也就是说,我们需要一种存储数据的容器,它能够自动的
6、改变这个容器的所能存放的数据数量的大小。这一点上,如果使用数组来存储的话,就显得十分的笨拙。2. 我们再假设这样一种场景:假定一个购物网站,经过一段时间的运行,我们已经存储了一系列的购物清单了,购物清单中有商品信息。如果我们想要知道这段时间里面有多少种商品被销售出去了。那么我们就需要一个容器能够自动的过滤掉购物清单中的关于商品的重复信息。如果使用数组,这也是很难实现的。3. 最后再想想,我们经常会遇到这种情况,我知道某个人的帐号名称,希望能够进一步了解这个人的其他的一些信息。也就是说,我们在一个地方存放一些用户信息,我们希望能够
7、通过用户的帐号来查找到对应的该用户的其他的一些信息。再举个查字典例子:假设我们希望使用一个容器来存放单词以及对于这个单词的解释,而当我们想要查找某个单词的意思的时候,能够根据提供的单词在这个容器中找到对应的单词的解释。如果使用数组来实现的话,就更加的困难了。为解决这些问题,Java里面就设计了容器集合,不同的容器集合以不同的格式保存对象。数学背景在常见用法中,集合(collection)和数学上直观的集(set)的概念是相同的。集是一个唯一项组,也就是说组中没有重复项。实际上,“集合框架”包含了一个Set接口和许多具体的Set类。但正式的集概念却比Java
8、技术提前了一个世纪,那时英国数学家GeorgeBoole按逻辑正式
此文档下载收益归作者所有