- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
集合
NIIT培训 铸就辉煌IT人生
目标:
列表(List)
集(Set)
映射(Map)
其它相关API
泛型
为什么使用集合框架
学员1
学员20
如何存储每天的新闻信息?
如果并不知道程序运行时会需要多少对象,或者需要更复杂方式存储对象——可以使用Java集合框架
一维数组
新闻1
……
新闻N
每天的新闻总数不确定,太少浪费空间,太多空间不足
存储一个班学员信息,假定一个班容纳20名学员
Java集合框架包含的内容(1)
1
接口
Collection
List
Map
2
具体类
ArrayList
LinkedList
HashMap
3
算法
Java集合框架为我们提供了一套性能优良、使用方便的接口和类,它们位于java.util包中
我们不必再重新发明轮子,只需学会如何使用它们,就可处理实际应用中问题
Collections
提供了对集合进行排序、
遍历等多种算法实现
Set
TreeSet
HashSet
TreeMap
Java集合框架包含的内容(2)
Collection 接口存储一组不唯一,无序的对象
List 接口存储一组不唯一,有序(插入顺序)的对象
Set 接口存储一组唯一,无序的对象
Map接口存储一组键值对象,提供key到value的映射
Collection
List
Map
Set
List接口常用方法
List接口的实现类
ArrayList实现了长度可变的数组,在内存中分配连续的空间。遍历元素和随机访问元素的效率比较高
LinkedList采用链表存储方式。插入、删除元素时效率比较高
List
ArrayList
LinkedList
ArrayList集合类
java.util.ArrayList类实现了List 接口,用于表述长度可变的数组列表。
ArrayList列表允许元素取值为null。除实现了List 接口定义的所有功能外,还提供了一些方法来操作列表容量的大小,相关方法包括:
public ArrayList()
public ArrayList(int initialCapacity)
public void ensureCapacity(int minCapacity)
public void trimToSize()
LinkedList集合类
LinkedList的特殊方法
Map接口(1)
建立国家英文简称和中文全名间的键值映射,并通过key对value进行操作,应该如何实现数据的存储和操作呢?
Map接口专门处理键值映射数据的存储,可以根据键实现对值的操作
最常用的实现类是HashMap
Map接口(2)
Map接口常用方法
集合类对比
Vector和ArrayList的异同
实现原理相同,功能相同,很多情况下可以互用
两者的主要区别如下
Vector线程安全,ArrayList重速度轻安全,线程非安全
长度需增长时,Vector默认增长一倍,ArrayList增长50%
Hashtable和HashMap的异同
实现原理相同,功能相同,在很多情况下可以互用
两者的主要区别如下
Hashtable继承Dictionary类,HashMap实现Map接口
Hashtable线程安全,HashMap线程非安全
Hashtable不允许null值,HashMap允许null值
迭代器Iterator
如何遍历List集合呢?
方法1:通过for循环和get()方法配合实现遍历
方法2:通过迭代器Iterator实现遍历
所有集合接口和类都没有提供相应遍历方法,而是由Iterator实现集合遍历
Collection 接口的iterate()方法返回一个Iterator,然后通过Iterator接口的两个方法可实现遍历
boolean hasNext(): 判断是否存在另一个可访问的元素
Object next(): 返回要访问的下一个元素
Collections类
java.util.Collections类中定义了多种集合操作方法,实现了对集合元素的排序、取极值、批量拷贝、集合结构转换、循环移位以及匹配性检查等功能。
主要方法:
public static void sort(List list)
public static void reverse(List list)
public static void shuffle(List list)
public static void copy(List dest, List src)
public static ArrayList list(Enumeration e)
public static int frequency(Collection c, Object o)
您可能关注的文档
最近下载
- 小学体育_队列队形教学设计学情分析教材分析课后反思.doc
- 中建项目商务策划汇报模板.pptx
- 公路中小跨径钢-混组合梁桥标准图集(制订)》技术方案报告.docx
- “设计思维与方法”教案.ppt
- 大职赛生涯闯关参考答案.docx VIP
- 2022《美宜佳公司营运资金管理存在的问题及对策研究》开题报告文献综述(含提纲)3200字.docx VIP
- 长垣市人民医院西学中培训班《方剂学》考试.pdf VIP
- 苏教版一年级科学上册4.1《自然物与人造物》(课件).pptx
- 电子商务招聘简章模板.pdf
- 统编版小学语文二年级上册第六单元 先辈伟人 大单元整体学历案教案 教学设计附作业设计(基于新课标教学评一致性).docx
文档评论(0)