当前位置:
文档之家› Java基础系列集合框架精品PPT课件
Java基础系列集合框架精品PPT课件
Java基础系列
--集合框架
一、概述
集合是一个将多个元素组合进单一单元或容器的对象,用于存储、获取和操作数据以 及将数据从一个方法传递到另一个方法。
一个集合是 代表那些组成一个自然的组的数据项 允许你将一个组看成是抽象的 用于存储、获取和操作数据,以及将一个数据从一个方法传递到另一个方法
高性能--基础集合的实现是高效率的,很少需要采用手动的方 式对这些“数据 引擎”进行编码。
减少编程工作量 – 精力集中于程序的重要部分
集合类型之间的通用API,使不同类型的集合以相似的方式进行操作,并有很高的互
用性。
容易扩展和改变一个集合。
提供了将标准数据集成到集合框架中的机制。
3、集合和映射
Collection转换为Object数组 : Object[] toArray() :返回一个内含集合所有元素的array Object[] toArray(Object[] a) :返回一个内含集合所有元素的array。运行 期返回的array和参数a的型别相同,需要转换为正确型别。 此外,还可以把集合转换成其它任何其它的对象数组。但是,不能直 接把集合转换成基本数据类型的数组,因为集合必须持有对象。
2、集合接口--List接口
重要方法:
面向位置的操作,包括插入某个元素或 Collection 的功能,还包括获取、除去或更 改元素的功能。在 List 中搜索元素可以从列表的头部或尾部开始,如果找到元素 ,还将报告元素所在的位置 : void add(int index, Object element): 在指定位置index上添加元素element boolean addAll(int index, Collection c): 将集合c的所有元素添加到指定位置index Object get(int index): 返回List中指定位置的元素 int indexOf(Object o): 返回第一个出现元素o的位置,否则返回-1 int lastIndexOf(Object o) :返回最后一个出现元素o的位置,否则返回-1 Object remove(int index) :删除指定位置上的元素 Object set(int index, Object element) :用元素element取代位置index上的元素,并 且返回旧的元素
1、Connection类图
2、集合接口--Connection接口
Connection是构造集合框架的基础,它声明所有集合都将拥有的核心方法。需要最大程 度的通用性时,使用Collection
主要的子接口 Set – 不包含重复元素 List – 按照添加顺序存储,可以包含重复元素
2、集合接口--Connection接口
2、集合接口--Connection接口
重要方法:
组操作 :作用于元素组或整个集合 boolean containsAll(Collection c): 查找集合中是否含有集合c 中所有元素 boolean addAll(Collection c) : 将集合c 中所有元素添加给该集合 void clear(): 删除集合中所有元素 void removeAll(Collection c) : 从集合中删除集合c 中的所有元素 void retainAll(Collection c) : 从集合中删除集合c 中不包含的元素
在严格意义上映射不属于集合,但是映射完全集成到了集合中。通过集合框架,可以 得到一个映射的集合形式的视图,其包含了存储在集合中的映射的元素,然后就可以 象处理集合一样处理映射的内容。
4、集合框架的核心接口
Java集合框架包括了六个核心集合接口,不同接口描述一种不同数据类型。
4、集合框架的核心接口
集合框架主要包括三部分
集合 迭代器 算法
1、集合框架的发展
E1.2前, Java提供了专门的类处理对象组:Dictionary、Vector、Stack、Properties。 J2SE1.2引入集合框架。 J2SE 5的变化:泛型、自动装/拆箱、for-each类型的for循环。
2、集合框架的优点
在很大程度上,一旦理解了接口,就理解了框架。因为虽然总要创建接口特定的实现, 但访问实际集合的方法应该限制在接口方法的使用上。 Collection 接口是一组允许重复的对象。 Set 接口继承 Collection,但不允许重复,使用自己内部的一个排列机制。 List 接口继承 Collection,允许重复,以元素安插的次序来放置元素,不会重新排 列。 Map接口是一组成对的键-值对象,即所持有的是key-value pairs。Map中不能有重 复的key。拥有自己的内部排列机制。
“集合框架”(Collections Framework)提供了一组精心设计的接口和类,它们以单个单 元即集合的形式存储和操作数据组 。对于计算机科学数据结构课程中学到的许多抽象 数据类型如映射(map)、集(set)、列表(list)、树(tree)、数组(array)、散列 表(hashtable)和其它集合来说,该框架提供了一个方便的 API
2、集合接口--List接口
List 接口继承了 Collection 接口以定义一个允许重复项的有序集合。该接口不但能够对 列表的一部分进行处理,还添加了面向位置的操作。 允许在中间插入和删除元素 可以从两边遍历 List允许重复元素
实现了List接口的类有
ArrayList – 动态数组,允许快速访问元素,但是从中间插入和删除元素的速 度很慢。
重要方法:
单元素添加、删除操作: boolean add(Object o):将对象添加给集合 boolean remove(Object o): 如果集合中有与o相匹配的对象,则删除对象o
查询操作: int size() :返回当前集合中元素的数量 boolean isEmpty() :判断集合中是否有任何元素 boolean contains(Object o) :查找集合中是否含有对象o Iterator iterator() :返回一个迭代器,用来访问集合中的各个元素
容器中的元素类型都为Object。从容器取得元素时,必须把它转换成原来的类型。
二、Connection
集合接口决定集合类的基本特征,具体的类只是提供标准接口的不同实现。 为了提供最大的灵活性,集合接口允许对一些方法进行选择。可选择的方法使得使用
者可以更改集合的内容。所有内置的集合类都是可修改的。 所有集合类都不是同步的,但可以得到同步的效果。