Java集合类和泛型
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
集合类和泛型
Java集合框架 Java集合框架允许在java集合类对象中存储各种 数据类型的元素。集合框架包含的类如下
集合类
列表(List)、集合(Set)和映射(Map)接口: java.util.List接口: 能包含重复元素的有序集合 比如:{1,2,4,1,6,7,2,5,5}
java.util.Set接口:不包含重复元素的集合 (不 保证集合的迭代顺序) 比如:{„a‟,‟b‟,‟e‟,‟d‟}
集合类的典型应用是存储相同元素,为了
此目的,要求定义集合时,规定向集合中 添加的元素均为同一中类型。
所谓泛型,就是在创建集合对象是规定其
允许保存的元素类型。
通过使用泛型,保证了集合类中存储的元
素数据类型相同。
ArrayList使用泛型
ArrayList存储不同 类型的元素时出错
ArrayList也可以存储不 同类型的元素
java.util.Map接口: Map接口是将键映射到值的对象 键/值对 键:不重复 值:每个键最多只能映射一个
比如:{{1,“小明”},{2,”小强”},……}
数组序列类(ArrayList)的使用和迭代器(Iterator)
(ArrayList)实现了List接口,List 接口的大小 可变数组的实现,执行速度比Vector快。 构造方法ArrayList():将构造一个初始容量为 10 的空列表 java.util.Iterator:用于集合中的元素的遍历
任务1
定义一个类student如下图所示,定义一个类
GenericsStudent,该类使用ArrayList的泛型结构,在 main方法中使用ArrayList的泛型结构存储“杨过,小龙女, 李莫愁“三个学生对象,并遍历ArrayList,依次输出三个 学生的名字。
Java自己定义的泛型类
Java自己定义的泛型类
Java的集合框架类是java自己定义的泛型类
优点: 保证了集合中所有元素的数据类型相同 访问集合类时不需要强制进行类型转换 向集合类中添加不符合指定类型的数据时, 编译时报错,避免了运行时错误的发生。
泛型类
ห้องสมุดไป่ตู้
泛型类:由类型参数修饰的类称之为泛型
类,泛型类表示方法是在类名的后面用<> 括起来一个参数类型T,在使用时用相关的 类型代替T。
使用 Iterator 接口实现元素的遍历 Iterator 接口中的方法: 方法hasNext():判断迭代器中是否有下一个元素。 方法next():返回迭代的下一个元素。 方法remove():从迭代器指向的集合中删除元素。
ArrayList类使用
ArrayList存储不同类型 的元素遍历时出错,遍 历时强制进行类型转换 造成的
泛型本质上提供的是”类型参数“,让我
们在创建一个类时,类中部分成员或方法 中的参数可以暂时不指定特定类型,而用 一个符号T代替。
任务2
定义一个泛型类Container1, 该类包含一个get()
和set(),在main方法中分别使用Person类和 Student类作为泛型类型参数T,并测试从person 和student类中输出信息如下图所示 。
Java集合框架 Java集合框架允许在java集合类对象中存储各种 数据类型的元素。集合框架包含的类如下
集合类
列表(List)、集合(Set)和映射(Map)接口: java.util.List接口: 能包含重复元素的有序集合 比如:{1,2,4,1,6,7,2,5,5}
java.util.Set接口:不包含重复元素的集合 (不 保证集合的迭代顺序) 比如:{„a‟,‟b‟,‟e‟,‟d‟}
集合类的典型应用是存储相同元素,为了
此目的,要求定义集合时,规定向集合中 添加的元素均为同一中类型。
所谓泛型,就是在创建集合对象是规定其
允许保存的元素类型。
通过使用泛型,保证了集合类中存储的元
素数据类型相同。
ArrayList使用泛型
ArrayList存储不同 类型的元素时出错
ArrayList也可以存储不 同类型的元素
java.util.Map接口: Map接口是将键映射到值的对象 键/值对 键:不重复 值:每个键最多只能映射一个
比如:{{1,“小明”},{2,”小强”},……}
数组序列类(ArrayList)的使用和迭代器(Iterator)
(ArrayList)实现了List接口,List 接口的大小 可变数组的实现,执行速度比Vector快。 构造方法ArrayList():将构造一个初始容量为 10 的空列表 java.util.Iterator:用于集合中的元素的遍历
任务1
定义一个类student如下图所示,定义一个类
GenericsStudent,该类使用ArrayList的泛型结构,在 main方法中使用ArrayList的泛型结构存储“杨过,小龙女, 李莫愁“三个学生对象,并遍历ArrayList,依次输出三个 学生的名字。
Java自己定义的泛型类
Java自己定义的泛型类
Java的集合框架类是java自己定义的泛型类
优点: 保证了集合中所有元素的数据类型相同 访问集合类时不需要强制进行类型转换 向集合类中添加不符合指定类型的数据时, 编译时报错,避免了运行时错误的发生。
泛型类
ห้องสมุดไป่ตู้
泛型类:由类型参数修饰的类称之为泛型
类,泛型类表示方法是在类名的后面用<> 括起来一个参数类型T,在使用时用相关的 类型代替T。
使用 Iterator 接口实现元素的遍历 Iterator 接口中的方法: 方法hasNext():判断迭代器中是否有下一个元素。 方法next():返回迭代的下一个元素。 方法remove():从迭代器指向的集合中删除元素。
ArrayList类使用
ArrayList存储不同类型 的元素遍历时出错,遍 历时强制进行类型转换 造成的
泛型本质上提供的是”类型参数“,让我
们在创建一个类时,类中部分成员或方法 中的参数可以暂时不指定特定类型,而用 一个符号T代替。
任务2
定义一个泛型类Container1, 该类包含一个get()
和set(),在main方法中分别使用Person类和 Student类作为泛型类型参数T,并测试从person 和student类中输出信息如下图所示 。