第7章-集合和泛型[28页]
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
❖ ⑶List:是一个有序的集合,可以包含重复的元素。提供 了按索引访问的方式。
❖ ⑷Map:包含了key-value对。Map不能包含重复的key。 SortedMap是一个按照升序排列key的Map。
❖ ⑸Vector类是实现了Collection接口的具体类,在具体应用 中经常使用。在下面的内容中将对这些常用的接口及实现 类进行详细的介绍。
北京 电子工业出版社
电子工业出版社
❖ Java中的这些集合类有如下的两个特征, ❖ ⑴集合框架特征一:只容纳对象。这一点和数组不同,数
组可以容纳基本数据类型数据和对象。如果集合类中想使 用基本数据类型,又想利用集合类的灵活性,可以把基本 数据类型数据封装成该数据类型的对象,然后放入集合中 处理。 ❖ ⑵集合框架特征二:集合类容纳的对象都是Object类的实 例,一旦把一个对象置入集合类中,它的类信息将丢失, 这样设计的目的是为了集合类的通用性。因为Object类是 所有类的祖先,所以可以在这些集合中存放任何类的对象 而不受限制,但是切记在使用集合成员之前必须对它重新 造型。
第七章 集合和泛型
教学内容
电子工业出版社
❖ 7.1 集合框架概述 ❖ 7.2 Set接口及其实现类 ❖ 7.3 List接口及常用的实现类 ❖ 7.4 Map集合及常用的实现类HashMap ❖ 7.5 Properties类 ❖ 7.6 集合类的遍历 ❖ 7.7 泛型
北京 电子工业出版社
7.1 集合框架概述
北京 电子工业出版社
电子工业出版社
❖ Java中集合框架中提供的集合框架接口主要有Collection 接口及Map 接口。下面对这些接口及类进行简单的介绍:
❖ ⑴Collection:集合层次中的根接口,JDK没有提供这个 接口直接的实现类。
❖ ⑵Set:不能包含重复的元素。SortedSet是一个按照升序 排列元素的Set。
❖ (1)Set中的元素必须唯一。 ❖ (2) 添加到Set中的元素必须定义equals方法,以提供算法
来判断欲添加进来的对象是否与已经存在的某对象相等, 从而建立对象的唯一性。 ❖ (3)Set接口中元素的存放是无序的,
北京 电子工业出版社
电子工业出版社
❖ 例7.1Set接口举例
❖ package Chapter7;
北京 电子工业出版社
7.2ຫໍສະໝຸດ BaiduSet接口及其实现类
电子工业出版社
❖ Set是一种不包含重复的元素的Collection,即任意的两个 元素e1和e2都有e1.equals(e2)=false,Set最多有一个null 元素。很明显,Set的构造函数有一个约束条件,传入的 Collection参数不能包含重复的元素。所以Set接口具有如 下特点:
在指定的索引位置添加元素。索引位置必须介于0和列表中元 素个数之间
返回列表中的元素个数 返回指定索引位置处的元素。取出的元素是Object类型,使用
前需要进行强制类型转换 判断列表中是否存在指定元素 从列表中删除元素
北京 电子工业出版社
电子工业出版社
❖ 例7.2 ArrayList类举例
❖ package Chapter7;
电子工业出版社
❖ 在前面的章节中我们学习了数组,数组是Java提供的随机 访问对象序列的最有效方法,数组是一个简单的线性序列, 它具有访问效率高的优点。但数组也有自身的局限性,数 组一经定义创建之后,数组中元素的个数就确定了,数组 中元素的类型也确定了,因为数组本身就是一组有限个数 的、数据类型相同的元素的集合。当事先不知道要存放数 据的个数,或者你需要一种比数组下标存取机制更灵活的 方法时,你就需要用到集合类型。集合类型是程序设计语 言中非常重要的一部分,在java中有很多与集合有关的接 口和类,它们被组织在以Collection及Map接口为根的层 次结构中,称为集合框架。
❖
h.add("1");
❖
h.add("2");
❖
h.add("3"); //可以换成重复数字2进行测试
❖
h.add("4");
❖
Iterator it = h.iterator();
❖
while (it.hasNext()) {
❖
System.out.println(it.next()+”\t”);
方法 boolean add(Object o)
void add(int index,Object o) int size() Object get(int index) boolean contains(Object o) boolean remove(Object o)
功能
在列表的末尾顺序添加元素,起始索引位置从0开始
❖ import java.util.HashSet;
❖ import java.util.Iterator;
❖ public class Chapter7_1 {
❖
public static void main(String[] args) {
❖
HashSet h = new HashSet();
❖ import java.util.ArrayList;
❖ public class Chapter7_2 {
❖
public static void main(String[] args) {
❖
ArrayList al = new ArrayList();
❖
al.add("hello");
❖
al.add("world");
❖
System.out.println("Retrieving by index:");
❖
for (int i = 0; i<al.size(); i++) {
❖
}
❖
}
❖
}
北京 电子工业出版社
7.3 List接口及常用的实现类
电子工业出版社
❖ 7.3.1 ArrayList类 ❖ 7.3.2 LinkedList类 ❖ 7.3.3 向量Vector
北京 电子工业出版社
7.3.1 ArrayList类
电子工业出版社
❖ ArrayList是一个可变长度数组,它实现了List接口,因此它也可以包含 重复元素和Null元素,也可以任意的访问和修改元素,随着向 ArrayList 中不断添加元素,其容量也自动增长。
❖ ⑷Map:包含了key-value对。Map不能包含重复的key。 SortedMap是一个按照升序排列key的Map。
❖ ⑸Vector类是实现了Collection接口的具体类,在具体应用 中经常使用。在下面的内容中将对这些常用的接口及实现 类进行详细的介绍。
北京 电子工业出版社
电子工业出版社
❖ Java中的这些集合类有如下的两个特征, ❖ ⑴集合框架特征一:只容纳对象。这一点和数组不同,数
组可以容纳基本数据类型数据和对象。如果集合类中想使 用基本数据类型,又想利用集合类的灵活性,可以把基本 数据类型数据封装成该数据类型的对象,然后放入集合中 处理。 ❖ ⑵集合框架特征二:集合类容纳的对象都是Object类的实 例,一旦把一个对象置入集合类中,它的类信息将丢失, 这样设计的目的是为了集合类的通用性。因为Object类是 所有类的祖先,所以可以在这些集合中存放任何类的对象 而不受限制,但是切记在使用集合成员之前必须对它重新 造型。
第七章 集合和泛型
教学内容
电子工业出版社
❖ 7.1 集合框架概述 ❖ 7.2 Set接口及其实现类 ❖ 7.3 List接口及常用的实现类 ❖ 7.4 Map集合及常用的实现类HashMap ❖ 7.5 Properties类 ❖ 7.6 集合类的遍历 ❖ 7.7 泛型
北京 电子工业出版社
7.1 集合框架概述
北京 电子工业出版社
电子工业出版社
❖ Java中集合框架中提供的集合框架接口主要有Collection 接口及Map 接口。下面对这些接口及类进行简单的介绍:
❖ ⑴Collection:集合层次中的根接口,JDK没有提供这个 接口直接的实现类。
❖ ⑵Set:不能包含重复的元素。SortedSet是一个按照升序 排列元素的Set。
❖ (1)Set中的元素必须唯一。 ❖ (2) 添加到Set中的元素必须定义equals方法,以提供算法
来判断欲添加进来的对象是否与已经存在的某对象相等, 从而建立对象的唯一性。 ❖ (3)Set接口中元素的存放是无序的,
北京 电子工业出版社
电子工业出版社
❖ 例7.1Set接口举例
❖ package Chapter7;
北京 电子工业出版社
7.2ຫໍສະໝຸດ BaiduSet接口及其实现类
电子工业出版社
❖ Set是一种不包含重复的元素的Collection,即任意的两个 元素e1和e2都有e1.equals(e2)=false,Set最多有一个null 元素。很明显,Set的构造函数有一个约束条件,传入的 Collection参数不能包含重复的元素。所以Set接口具有如 下特点:
在指定的索引位置添加元素。索引位置必须介于0和列表中元 素个数之间
返回列表中的元素个数 返回指定索引位置处的元素。取出的元素是Object类型,使用
前需要进行强制类型转换 判断列表中是否存在指定元素 从列表中删除元素
北京 电子工业出版社
电子工业出版社
❖ 例7.2 ArrayList类举例
❖ package Chapter7;
电子工业出版社
❖ 在前面的章节中我们学习了数组,数组是Java提供的随机 访问对象序列的最有效方法,数组是一个简单的线性序列, 它具有访问效率高的优点。但数组也有自身的局限性,数 组一经定义创建之后,数组中元素的个数就确定了,数组 中元素的类型也确定了,因为数组本身就是一组有限个数 的、数据类型相同的元素的集合。当事先不知道要存放数 据的个数,或者你需要一种比数组下标存取机制更灵活的 方法时,你就需要用到集合类型。集合类型是程序设计语 言中非常重要的一部分,在java中有很多与集合有关的接 口和类,它们被组织在以Collection及Map接口为根的层 次结构中,称为集合框架。
❖
h.add("1");
❖
h.add("2");
❖
h.add("3"); //可以换成重复数字2进行测试
❖
h.add("4");
❖
Iterator it = h.iterator();
❖
while (it.hasNext()) {
❖
System.out.println(it.next()+”\t”);
方法 boolean add(Object o)
void add(int index,Object o) int size() Object get(int index) boolean contains(Object o) boolean remove(Object o)
功能
在列表的末尾顺序添加元素,起始索引位置从0开始
❖ import java.util.HashSet;
❖ import java.util.Iterator;
❖ public class Chapter7_1 {
❖
public static void main(String[] args) {
❖
HashSet h = new HashSet();
❖ import java.util.ArrayList;
❖ public class Chapter7_2 {
❖
public static void main(String[] args) {
❖
ArrayList al = new ArrayList();
❖
al.add("hello");
❖
al.add("world");
❖
System.out.println("Retrieving by index:");
❖
for (int i = 0; i<al.size(); i++) {
❖
}
❖
}
❖
}
北京 电子工业出版社
7.3 List接口及常用的实现类
电子工业出版社
❖ 7.3.1 ArrayList类 ❖ 7.3.2 LinkedList类 ❖ 7.3.3 向量Vector
北京 电子工业出版社
7.3.1 ArrayList类
电子工业出版社
❖ ArrayList是一个可变长度数组,它实现了List接口,因此它也可以包含 重复元素和Null元素,也可以任意的访问和修改元素,随着向 ArrayList 中不断添加元素,其容量也自动增长。