- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Java 集合体系结构分析与比较
Java 集合框架图
Java 平台提供了一个全新的集合框架 . “集合框架”主要由一
组用来操作对象的接口组成 .不同接口描述一组不同数据类 型.
Java 集合框架图如下 :
集合接口 :6 个接口 (短虚线表示 ),表示不同集合类型 ,是集合 框架的基础 .
抽象类 :5 个抽象类 (长虚线表示 ),对集合接口的部分实现 .可 扩展为自定义集合类 .
实现类 :8 个实现类 (实线表示 ),对接口的具体实现 . 在很大程度上 ,一旦您理解了接口 ,您就理解了框架 .虽然您总 要创建接口特定的实现 ,但访问实际集合的方法应该限制在 接口方法的使用上 ;因此 ,允许您更改基本的数据结构而不必 改变其它代码 .
Java 集合的顶层接口是 Collection,Collection 接口是一组允 许重复的对象 .Java 集合框架主要由以下三个接口组成 :
(1) Set 接口继承 Collection, 但不允许重复 ,使用自己内 部的一个排列机制 .
(2) List 接口继承 Collection, 允许重复 ,以元素安插的次
序来放置元素 ,不会重新排列
Map 接口是一组成对的键 -值对象 ,即所持有的是 key-value pairs.Map 中不能有重复的 key, 拥有自己的内部 排列机制 .
容器中的元素类型都为 Object, 从容器取得元素时 ,必须把它 转换成原来的类型 .简化后的集合框架图如下 :
接口 Collection 用于表示任何对象或元素组 ,想要尽可能以常规方式处 理一组元素时 ,就使用这一接口 .
单元素添加、删除操作 :
boolean add(Object o): 将对象添加给集合
boolean remove(Object o): 如果集合中有与 o 相匹配 的对象 ,则删除对象 o
查询操作 :
int size(): 返回当前集合中元素的数量
boolean isEmpty(): 判断集合中是否有任何元素
boolean contains(Object o): 查找集合中是否含有对象 o Iterator iterator(): 返回一个迭代器 ,用来访问集合中的各 个元素
组操作 : 作用于元素组或整个集合 boolean containsAll(Collection c): 查找集合中是否含
有集合 c 中所有元素
boolean addAll(Collection c) : 将集合 c 中所有元素添
加给该集合
void clear(): 删除集合中所有元素
void removeAll(Collection c) : 从集合中删除集合 c 中
的所有元素
void retainAll(Collection c) : 从集合中删除集合 c 中不 包含的元素
Collection 转换为 Object 数组 :
Object[] toArray(): 返回一个内含集合所有元素的 array Object[] toArray(Object[] a): 返回一个内含集合所有元素的 array. 运行期返回的 array 和参数 a 的型别相同 ,需要转换为 正确型别 . 此外,您还可以把集合转换成其它任何其它的对象数组 .但是 ,
您不能直接把集合转换成基本数据类型的数组 ,因为集合必 须持有对象 .
斜体接口方法是可选的 .因为一个接口实现必须实现所有接 口方法 ,调用程序就需要一种途径来知道一个可选的方法是 不是不受支持 .如果调用一种可选方法时 , 一个 UnsupportedOperationException 被抛出 ,则操作失败 ,因为
方法不受支持 .此异常类继承 RuntimeException 类 ,避免了 将所有集合操作放入 try-catch 块 .
Collection 不提供 get() 方法 .如果要遍历 Collectin 中的元 素 ,就必须用 Iterator.
抽象类 AbstractCollection
AbstractCollection 类提供具体“集合框架”类的基本功 能 .虽然您可以自行实现 Collection 接口的所有方法 ,但是 , 除了 iterator() 和 size() 方法在恰当的子类中实现以外 ,其它所 有方法都由 AbstractCollection 类来提供实现 . 如果子类不 覆盖某些方法 ,可选的如 add() 之类的方法将抛出异常 .
接口 Iterator
Collection 接口的 iterator() 方法返回一个 Iterator.Iterator 接口方法能以迭代方式逐个访问集合中各个 元素 ,并安全的从 Collection 中除去适当的元素 .
bool
您可能关注的文档
最近下载
- ASMR简单介绍课件.pptx
- 瞭望&光大:2023商业银行数据资产估值白皮书.pdf VIP
- 2025年山西林业职业技术学院单招职业适应性测试模拟试题及答案解析.docx VIP
- 艾滋病合并肺孢子菌肺炎诊疗专家共识(2024年版).pptx VIP
- 2024年山西电力职业技术学院单招职业适应性测试模拟试题及答案解析.docx VIP
- 影视项目可行性研究报告.docx VIP
- 2024年山西职业技术学院单招职业适应性测试模拟试题及答案解析.docx VIP
- 十一人制足球规则.ppt VIP
- 中考语文阅读理解《石矶娘娘是什么岩石》含答案解析.docx VIP
- [特种设备高级考试]第四,五章 磁粉检测的器材和设备.pdf
原创力文档


文档评论(0)