




已阅读5页,还剩23页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java程序设计视频教程 本讲主题 包装类与集合类 主讲教师 黄洪 2 包装类 包装类将基本数据类型包装成引用数据类型 每个包装类对象都封装了基本类型的一个值 基本数据类型对应的包装类booleanBooleanbyteBytecharCharactershortShortintIntegerlongLongfloatFloatdoubleDouble 3 包装类 包装类中包含了很多有用的方法和常量 创建相应的包装类对象 Xxx表示包装类的名称 Xxx avalue Xxx Strings 类型的最大值与最小值MIN VALUEMAX VALUE将字符串转换成该类型对应的基本数据类型publicstaticxxxparseXxx Strings 其中Xxx表示基本数据类型名称将该类型的对象转换成字符串publicStringtoString publicstaticStringtoString xxxanxxxValue publicstaticStringtoString inti intradix 同时实现数制转换 4 包装类 例 利用包装类Integer的parseInt方法 将字符串转换为整数 publicstaticintparseInt Strings throwsNumberFormatException请大家回去自己仔细研究各包装类及其方法 5 classTestInteger publicstaticvoidmain String args inti1 Integer parseInt args 0 inti2 Integer parseInt args 1 System out println i1 i2 6 集合类 一个集合类对象用于表示了一组对象的集合 是对象的容器 7 Set Set不能包含重复的元素 Set接口定义 publicinterfaceSet 基本方法intsize booleanisEmpty booleancontains Objectelement booleanadd Objectelement booleanremove Objectelement Iteratoriterator 8 List List是有序的集合 元素可以重复 List接口定义 publicinterfaceListextendsCollection Objectget intindex Objectset intindex Objectelement Optionalvoidadd intindex Objectelement OptionalObjectremove intindex OptionalabstractbooleanaddAll intindex Collectionc Optional SearchintindexOf Objecto intlastIndexOf Objecto List的实现 Vector ArrayList LinkedList 9 Vector与ArrayList Vector与ArrayList功能类似 但Vector是多线程安全的 具有多线程同步机制 能够保证多个线程对同一个Vector对象操作时数据的正确性 而ArrayList则没有处理多线程同步问题 本讲介绍Vector 10 向量Vector Vector是一个类 功能类似数组 但存在以下区别元素的个数可变元素的类型必须是引用类型Vector对象中可以存放的元素个数称为向量的容量 capacity Vector对象中实际元素的个数称为向量的长度 size 当长度超出容量时 向量对象的容量会自动扩大 一次扩大一个容量增量 容量增量为0时 容量扩大一倍 Vector类在java util包中 使用时要引入 在类前面用importjava util Vector 或用完整的名称 11 向量变量的声明 声明格式 Vector变量名例 声明一个元素类型为字符串的向量变量vsVectorvs 下面的声明是错误的 因为int不是引用类型 Vectorvi 下面的声明被允许 但会出现编译警告Vectorvo 12 向量的构造方法 创建初始容量为10 默认增量为0的向量对象 newVector 创建初始容量为initialCapacity 默认增量为0的向量对象 newVector intinitialCapacity 创建初始容量为initialCapacity 默认增量为capacityInc的向量对象 newVector intinitialCapacity intcapacityInc 构造方法不指定元素类型会出现编译警告 13 声明向量变量并实例化向量对象的例子 变量vs引用一个元素类型为字符串的向量 其初始容量为10 默认增量为0 Vectorvs newVector 变量vo引用一个没有指定元素类型的向量 其初始容量为16 默认增量为8 Vectorvo newVector 16 8 14 对向量的主要操作 增加元素将指定元素追加到此向量的末尾 booleanadd Eo 插入元素在此向量的指定位置插入指定的元素 和数组一样index的取值从0开始 voidadd intindex Eelement 修改元素用指定的元素替换此向量中指定位置index处的元素 Eset intindex Eelement 15 对向量的主要操作 续 删除元素移除此向量中指定位置的元素 Eremove intindex 移除此向量中指定元素的第一个匹配项 如果向量不包含该元素 则元素保持不变 booleanremove Objecto 从此向量中移除所有元素 voidclear 16 对向量的主要操作 续 查询返回向量中指定位置的元素 Eget intindex 判断指定的对象是否为此向量中的某个元素 booleancontains Objectelem 返回此向量的第一个元素 位于索引0处的项 EfirstElement 返回此向量的最后一个元素 ElastElement 17 对向量的主要操作 续 查询元素的位置索引返回给定参数的第一个匹配项的索引 使用equals方法测试相等性 没有匹配项则返回 1 intindexOf Objectelem 返回给定参数的第一个匹配项的索引 从index处开始匹配 并使用equals方法测试其相等性 没有匹配项则返回 1intindexOf Objectelem intindex 返回指定的对象在此向量中最后一个匹配项的索引 没有匹配项则返回 1 intlastIndexOf Objectelem 从后往前搜索指定的对象并返回其索引 从指定的索引处开始搜索 没有匹配项则返回 1 intlastIndexOf Objectelem intindex 18 对向量的主要操作 续 查询向量的相关信息返回此向量的当前容量 intcapacity 返回此向量中的元素个数 intsize 测试此向量是否不包含元素 booleanisEmpty 19 对向量的主要操作 续 改变向量的长度或容量设置此向量的长度 如果新长度大于老长度则尾部添加null 如果新长度小于老长度则尾部元素删除 voidsetSize intnewSize 对此向量的容量进行微调 使其等于向量的当前大小 voidtrimToSize 增加此向量的容量 如有必要 以确保其至少能够保存最小容量参数指定的元素个数 voidensureCapacity intminCapacity 20 向量使用示例 importjava util Vector classTestVector publicstaticvoidmain String args Vectorvs newVector 16 8 vs add 1 vs add 2 vs add 1 3 System out println vs toString if vs contains 3 System out println 3 isanelementofvs vs remove 3 System out println vs toString 21 哈希表 散列表 Hashtable 将数据按 关键字 key 和 值 value 配对存放 通过key可以快速找到value 其原理是建立key到value的映射 Java中实现哈希表的有三个类 Hashtable HashMap WeakHashMap 他们的区别有三个 详见教材P149 上述三个类在java util包中 22 哈希表变量的声明 声明格式Hashtable变量名或者Hashtable变量名注意 哈希表的关键字和值都必须是引用类型第二种声明格式会导致编译警告 23 哈希表的构造方法 用缺省的容量11和装填因子0 75f构造一个新的空哈希表 Hashtable 用指定的初始的容量和缺省的装填因子构造一个新的空哈希表 Hashtable int 用指定的初始的容量和指定的装填因子构造一个新的空哈希表 Hashtable int float 注意 不指明类型也可以 但会导致出现编译警告 24 声明哈希表变量并实例化哈希表对象 按默认的容量和装填因子创建一个哈希表对象 其关键字是String类型 值是Integer类型 Hashtableht newHashtable 创建一个初始容量为20 装填因子为0 8f的哈希表对象 不指定关键字和值的类型 Hashtableht newHashtable 20 0 8f 25 哈希表常用操作 添加元素在该散列表中映射指定的kObject键到指定的vObject值 Vput kObject vObject 查找元素返回指定的键kObject在这个散列表中的映射值 Vget kObject 删除元素从该散列表中删除键值为kObject的元素 Vremove kObject 清空该散列表使它不包含元素 voidclear 26 哈希表常用操作 续 检测检测指定的对象是否是该散列表中的一个键 booleancontainsKey Objectkey 检测在该散列表中某些键是否映射到指定的值 booleancontains Objectvalue 返回该散列表中的元素个数 intsize 27 哈希表使用示例 importjava util Hashtable classTestHashtable publicstaticvoidmain String args Hashtableht newHashtable 20 0 8f ht put 许斌 200726630420 ht put 陈梦瑶 200726470204 System out println ht System out println ht get 陈梦瑶 ht remove 陈梦瑶 System out println ht get 陈梦瑶 System out println ht containsKey 陈梦瑶 System out println ht size 28 习题 1 编写一个java成绩统计程序 输入一个班的java成绩 含姓名和分数 统计出平均分
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年事业单位工勤技能-广西-广西汽车驾驶与维修员二级(技师)历年参考题库含答案解析
- 2025年事业单位工勤技能-广西-广西地质勘查员三级(高级工)历年参考题库含答案解析
- 2025年事业单位工勤技能-广东-广东信号工-机车信号设备维修二级(技师)历年参考题库典型考点含答案解析
- 烹饪甜品基础知识培训班课件
- 2025年事业单位工勤技能-安徽-安徽堤灌维护工一级(高级技师)历年参考题库典型考点含答案解析
- 烹饪原料储存
- 烷烃的命名教学课件
- 2025年驾驶证考试-摩托车理论考试-摩托车驾驶证(科目一)历年参考题库典型考点含答案解析
- 热镀锌基本知识培训课件
- 热轧槽钢基础知识培训
- 国网面试模拟题:电网运营与规划类面试题目及答案
- 2025年《工会法》知识竞赛试题库及答案
- 2025氯化工艺复审题库及答案详解
- 2025年医院收费笔试题目及答案
- 电力安全隐患排查存在问题及整改措施
- 2025年高考日语试卷及答案详解
- 2025年湖北省初中地理学业水平考试(会考)真题评析
- 2025年军队文职人员(司机岗)历年考试真题库及答案(重点300题)
- 维克多高中英语3500词汇
- 架桥机日常检查记录表架桥机验收及试吊安全检查表
- 屠宰加工企业组织机构职能分配表正式版
评论
0/150
提交评论