- 1、本文档共163页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
Java中的集合、枚举、泛型
目录
一.基本概念 2
1、集合的数学背景: 2
2、基本结构: 3
3、Collection接口、List接口、Set接口、Map接口【顶层接口】 5
1)Collection接口概述: 5
2)List接口概述: 7
3)Set接口概述: 8
4)Map接口概述: 9
4、其他java.util包里面的接口 11
1)QueueE接口(1.5):父接口[CollectionE] 11
2)DequeE接口(1.6):父接口[QueueE] 12
3)SortedMapK,V接口(1.2):父接口[MapK,V] 13
4)SortedSetK,V接口(1.2):父接口[MapK,V] 14
5)NavigableMapK,V接口(1.6):父接口[SortedMapK,V] 15
6)NavigableSetE接口(1.6):父接口[SortedSetE] 17
5、对象的比较(Comparator和Comparable) 18
1)Comparator(1.2)的使用: 18
2)Comparable接口(1.2)的使用: 21
3)Comparator和Comparable的区别 23
二.常用集合——列表、队列、栈 24
1、AbstractListE相关类(1.2) 26
1)LinkedListE类: 26
2)ArrayListE类 33
3)VectorE类 39
4)StackE类 43
2、AbstractQueueE类 44
三.常用集合——Set集合、哈希表 46
1、AbstractSetE(1.2)类和AbstractMapK,V(1.2)相关: 46
1)HashSetE(1.2)、HashMapK,V(1.2)和HashTableK,V(1.0) 46
2)TreeSetE(1.2)类TreeMap(K,V(1.2)类: 54
3)LinkedHashSetE类(1.4)以及LinkedHashMapK,V类(1.4): 57
2、Arrays,ArrayDeque(1.6) 59
1)ArrayDeque(1.6)类定义: 59
四.集合的部分总结: 61
五.泛型、枚举 63
1、枚举: 63
1)构造函数、方法和变量 63
2)预定义方法、特定常量的类主体 65
3)EnumSetE(1.5)和EnumMapK,V(1.5)集合 67
4)关于枚举的类型转换问题: 70
2.泛型 72
1)基本概念: 72
2)深入理解泛型: 75
3)泛型“类型捕获” 83
一.基本概念
一般情况下,在系统开发的时候经常会遇到针对大量的数据进行处理,在处理同类型数据的某些集合的时候,就会使用到一定的集合类的数据结构。在Java语言里面,集合类一般都位于java.util包里面,该包里面的集合类基本提供了我们再开发过程中常用的数据结构,直接使用起来基本可以满足我们的开发要求。JDK在设计的时候针对常用的数据结构和算法做了一些规范(接口)和实现(实现接口的类),所有抽象出来的数据结构和算法统称为Java集合框架(JavaCollectionFramework),所以我们在使用的时候就不需要考虑数据结构和算法实现细节,只需要使用这些类创建相关的对象出来,然后直接应用就可以了。
1、集合的数学背景:
常见的用法里面,集合(Collection)和数学直观的集(Set)是一个概念。集是一个唯一项组,也就是说组中没有重复项,一般情况下,在我们书写数学集合的时候不会遇到重复项;但是在Java集合框架里面,进行了更加严格的定义,针对这种概念的集合,使用Set接口以及许多实现了该接口的Set类来进行。我们在很早的数学课的时候就学过“交集”和“并集”的概念:
根据上图可以理清楚对应的集合之间的关系,提供一些简单的集合的实例:
.Java语言的关键字:{import,final,static,public,...}
.数据库返回结果的记录集
.非负整数:{0,1,2,...}
.空集:{}【该符号为非数学符号】在数学定义里面,集的基本特性如下:
.集内只包含每项的一个实例
.集可以是有限的,也可以是无限的
.集可以定义抽象概念
数学里面映射是一种特殊的集,一般情况称为对集,每个对表
文档评论(0)