- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
day12-集合
集合(List 与 Set)
1、集合的由来:
对象用于封装特有数据的,对象多了需要存储,如果对象的个数不确
定,就使用集合容器进行存储。
特点:用于存储对象的容器,集合的长度是可变的,集合中不能存储基
本数据类型的值。
2、集合体系的由来:
集合容器因为内部的数据不同,有多种具体的具体容器,不但的向上抽
取,就形成了集合框架。下面是集合框架的体系图
一 、Collection 集合
添加
Boolean add(Object obj)【添加成功,返回 true,失败返回 false】
Boolean addAll(Collectioncol)【将一个集合添加到另外一个集合中】
删除
Boolean remove(Objectobj)
Boolean removeAll(Collectioncoll)
例如:a.removeAll(b) 如果存在相同的元素,返回 true,此时 a 中将返
回移除相同元素后的集合。
void clear()【清空集合】
判断
Booleancontains(Object obj)
Boolean containsAll(Collectioncoll)
Boolean isEmpty() 【判断集合中是否有元素,即是否为空】
获取
intsize():获取集合的长度
Iterator iterator()取出集合中的元素【迭代器】
因为每个集合都有取出、判断集合还有没有下一个 对象的属性,或者移除
集合里面的对象的方法,按照面向对象的思想应该将这些方法定义到集合体系
的顶层中,让其子类去实现他,但是每个子类中的数据结构不同,而在操作的
时候是操作集合内部的数据,所以我们应该内部去实现他,这时我们应该使用
内部类,有因为每个集合都具有这样的功能,所以我们向上抽取为一个接口,
让内部类去实现他,对于使用者而言,具体的实现不重要,只要通过容器
获取到该实现迭代器对象即可。让对象去完成取出等相关的动作。
此方法在现实中的经典案例:商店的抓烟或者抓布娃娃的那个机器,那
个爪子就是我们要获取的迭代器对象。
其他的方法
booleanretainAll(Collectioncoll):【返回交集】
例如:a.retainAll(a1); 假如 a 和 a1 中有相同的对象,则返回 true,此时
a 中的对象是他们公用的,如果没有,则返回 false。
Object[]toArray(): 将集合转成数组。
TT [] toArray(T[]a) 返回包含此collection中所有元素的数组;返
回数组的运行时类型与指定数组的运行时类型相同。
4、集合的小弟之 List
特点:有序(指的是存入和取出的顺序一致,队列模式),元素都有索
引(角标),元素可以重复。它具有自己的迭代器 ListIterator,可以进行操作
其中,hasPrevious()表示有没有前面一个,那个 hasNext 是又没有下
一个。
5、List 的实现类
Vector:内部是数组数据结构,是同步的,增删快,查询都很慢,因为
他需要同步
ArrayList :内部是数组数据结构,是不同步的,代替了 Vector,查询
的速度很快,可以直接通过角标查询,因为你数组结构,所以在增加或者删除
某一元素时,要重新对数组的顺序改变,所以增删慢。50%的增长
LinkedList:内部是链表数据结构,是不同步的,增删元素的速度很
快。因为是链表结构,元素与元素之间是通过记录下个元素的地址连接起来
的,所以在查询的时候以此的询问,比较慢,但是增删的时候可以直接将下个
元素的地址给他就 OK 了。例如火车,查询是一个一个的向下面询问的方式查
找元素。
Arraylist 和 linkedlist 的区别
因为 Arraylist 是数组结构可以通过角标操作集合里面的元素,但是
linkedlist 是链表结构只能操作头和尾上的元素。但是有人会问?List 集合不是
有序的吗?此时的有序是想相对于存入和取出是一致的。怎样放就怎样取,
ArrayList 是连续的空间,而 linke
您可能关注的文档
- 是时候,揭开当下创业路演时,那件皇帝的新衣了.pdf
- 智慧交通顶层设计.pdf
- 智课网:GRE词汇记忆法大纠错.pdf
- 最优化算法的收敛准则.pdf
- 曹操死前为何说对不住丁夫人他对丁夫人做了什么.pdf
- HNOI2012 nand解题报告-by txh.pdf
- 服务器系统日志的证据法规制刍议_夏斌.pdf
- 有关爱国的小品台词 主角与配角.pdf
- 第五讲 维普.pdf
- 服装加工合同(完整)(免费下载版).pdf
- 2025AACR十大热门靶点推荐和解读报告52页.docx
- 财务部管理报表.xlsx
- 高中物理新人教版选修3-1课件第二章恒定电流第7节闭合电路欧姆定律.ppt
- 第三单元知识梳理(课件)-三年级语文下册单元复习(部编版).pptx
- 俄罗斯知识点训练课件-七年级地理下学期人教版(2024).pptx
- 课外古诗词诵读龟虽寿-八年级语文上学期课内课件(统编版).pptx
- 高三语文二轮复习课件第七部分实用类文本阅读7.2.1.ppt
- 高考物理人教版一轮复习课件第4章第3讲圆周运动.ppt
- 高考英语一轮复习课件53Lifeinthefuture.ppt
- 2025-2030衣柜行业风险投资发展分析及投资融资策略研究报告.docx
文档评论(0)