第十一章集合_第1页
第十一章集合_第2页
第十一章集合_第3页
第十一章集合_第4页
第十一章集合_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Java语言基础第十一章 集合 异常概念 异常分类 运行时异常 编译期异常 异常处理机制 catch throws 自定义异常上章回顾 Java集合框架 Collection接口 Iterator接口 List接口以及实现类 Set接口以及实现类 Map接口以及实现类本章内容一、集合框架概述 集合(collection)有时又称为容器,简单地说,它是一个对象,能将具有相同性质的多个元素汇聚成一个整体 集合被用于存储、获取、操纵和传输聚合的数据 集合框架(Collections Framework)是用来表现和操纵集合的一个统一的体系结构。所有的集合框架都包含以下内容: 接口:是代表集合的抽象数

2、据类型。 实现:是集合接口的具体实现。本质上,它们是可重用的数据结构,是一些类。 算法:是在实现了集合接口的对象上执行有用的计算的方法,如查找和排序。一、Java集合框架结构二、Collection接口 Collection接口提供了集合接口的通用操作基本操作基本操作 int size()返回集合元素的个数 boolean isEmpty()判断集合是否包含集合元素 boolean contains(Object o)判断集合中是否包含指定元素 boolean add(E element)向集合中添加指定元素 boolean remove(Object o)从集合中移除指定元素 Iterato

3、r iterator()返回在集合元素上进行迭代的迭代器批量操作批量操作 boolean containAll(Collection c)集合中是否包含指定的所有集合元素 boolean addAll(Collection c )向集合中添加指定集合的所有元素 boolean removeAll(Collection c)从集合中移除指定集合的包含的元素 void clear()移除集合中所有元素 boolean retainAll(Collection c) 保留集合中指定的元素二、Collection接口 Collection集合元素的遍历方式 两种集合的遍历方式 for-each结构遍历

4、 迭代器Iterator遍历 for(Object o:c)System.out.print(o.toString(); public interface Iterator public boolean hasNext(); public E next(); public void remove(); 三、List接口 List接口是一个有序的集合,可以包含重复元素 除了从Collection继承来的操作外,List接口还提供了以下按序列进行操作的方法:按序列操作的方法按序列操作的方法 E get(int index)返回集合中指定位置的元素 int indexOf(Object o)返回指定

5、对象在集合中的索引位置 List subList(int from ,int to)从集合中截取子集合 E remove(int index)移除集合中指定位置的元素 三、List接口 Java平台提供了两个通用的List接口实现类 java.util.ArrayList java.util.LinkedList 以ArrayList为例演示List接口的使用方法 四、Set接口及其实现类 Set是一个不能包含重复元素的接口。 Set接口是Collection的子接口 只包含从Collection继承过来的方法 增加了对add方法的限制,不允许有重复的元素。基本操作基本操作 int size(

6、)返回集合元素的个数 boolean isEmpty()判断集合是否包含集合元素 boolean contains(Object o)判断集合中是否包含指定元素 boolean add(E element)向集合中添加指定元素 boolean remove(Object o)从集合中移除指定元素 Iterator iterator()返回在集合元素上进行迭代的迭代器批量操作批量操作 boolean containAll(Collection c)集合中是否包含指定的所有集合元素 boolean addAll(Collection c )向集合中添加指定集合的所有元素 boolean remov

7、eAll(Collection c)从集合中移除指定集合的包含的元素 void clear()移除集合中所有元素 boolean retainAll(Collection c) 保留集合中指定的元素四、Set接口及其实现 Set接口通用的实现类有HashSet、TreeSet和LinkedHashSet编写程序,获取命令行参数中的字符串列表,输出其中重复的单词、不重复的单词以及消除重复以后的单词列表。五、Map接口及其实现类 Map是一种包含键值对的元素的集合。 Map不能包含重复的键 每个键最多可映射到一个值。五、Map接口及其实现类 Map接口定义了一系列的方法:基本操作基本操作 V pu

8、t(K key , V value)将指定的值与映射中的指定键进行关联 V get(Object key)返回指定键所对应的映射值 V remove(Object key)如果存在一个键的映射关系,那么移除 int size()返回此映射中键值映射关系的数量 boolean isEmpty判断此映射中是否包含映射关系 boolean containKey(Object k)判断映射中是否包含指定的键 boolean containValue(Object v)判断映射中是否包含指定的值批量操作和集合视图批量操作和集合视图 void clear()清除映射中所有的映射关系 void putAll

9、(Map)将指定映射中的映射关系复制到当前映射中去 SetkeySet返回此映射中包含的所有key的Set视图 Collectionvalues返回此映射中包含的所有value的Collection视图 SetMap.Entry entrySet返回此映射中包含的所有映射关系的Set视图五、Map接口及其实现类 Map的通用实现类有HashMap、TreeMap和LinkedHashMap统计命令行中单词出现的次数六、Collections工具类 Collections提供了集合操作的常用算法,这些算法都以静态方法的形式提供 这些静态方法的第一个参数都是需要对其操作的 集合 Collectio

10、ns提供的多数算法都是针对java.util.List类型的集合进行操作的,也有一部分可以操作任何类型的集合六、Collections工具类 Collections集合操作工具类位于java.util包下 Collections中常用的方法有: 排序 void sort() 随机排序 void shuffle() 反转集合中的顺序 void reverse() 二分查找:int binarySearch() 查找极值 T max(),T min()七、Arrays工具类 Arrays提供了数组操作的各种方法 Arrays提供了将数组转换为List的静态方法 Arrays提供的常用方法有: 将数

11、组转化为List:asList() 二分查找:binarySearch() 复制数组:copyOf() 数组排序:sort() 初始化数组:fill() Java集合框架 Collection接口 Iterator接口 List接口以及实现类 Set接口以及实现类 Map接口以及实现类 Collections集合工具类 Arrays数组工具类本章总结 作业一: 使用Scanner从控制台读取一个字符串,统计字符串中每个字符出现的次数,要求使用学习过的知识完成以上要求 实现思路根据Set、List、Map集合的特性完成。作业 作业二: 定义一个Employee类,属性:name:String,age:int,salary:double 把若干Employee对象放在List中,排序并遍历输出,排序规则:salary高的在前面,salary相同时age大的在前面,age也相同时按照name升序排列 把若干Employee对象放在Set中并遍历,要求没有重复元素作业 作业三: 某中学有若干学生(学生对象放在一个List中),每个学生有一个姓名属性、班级名称属性(String)和考试成绩属性(int),某次考试结束后,每个学生都获得了一个考试成绩。请打印出每个班级的总分和平均分。class Studentnamec

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论