版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第7周JDK常见类的使用二11Collection接口及其实现类2Map接口及其实现类4让我们一起来编程学习提纲3Java计算生态21.Collection接口及其实现类数组用来存储同一类型的多个数据,使用简单。但数组存在不能实现动态扩充、无法保存具有映射关系的数据、不能适应多线程编程环境等缺点。为解决以上问题,Java提供了集合框架,基于十几个集合接口及其实现类,通过提供数据结构和算法,有效减少了编程工作量,同时提高了性能和安全性。Java集合框架主要包括Collection和Map两大类。Collection接口及其实现类主要用来盛放对象(Object)。Map接口及其实现类用来盛放键值对(Key-Value)。
1.1Java集合框架简介
31.Collection接口及其实现类Java集合框架主要接口及其实现类
41.Collection接口及其实现类学习Java集合框架时要仔细阅读API帮助文档,重点学习每种集合类的功能和特点,综合考虑其存储结构、运行效率、线程安全、适用场景等因素,浏览构造方法和常用方法,掌握以下编程基本操作技巧:掌握怎样构造集合?怎样添加元素?怎样读取、修改元素?怎样删除元素?怎样遍历集合?……1.1Java集合框架简介51.Collection接口及其实现类Collection是集合框架中的根接口,对一些基本的集合操作方法(Add、Get、Del、Modify等)进行了约束性规定。Collection接口的两个主要子接口List、Set定义如下:publicinterfaceList<E>extendsCollection<E>:相当于动态数组,其实现类实现了有序存储、元素可重复的数据结构。publicinterfaceSet<E>extendsCollection<E>:相当于数学的集合,其实现类实现了无序存储、元素不可重复的数据结构。1.1Java集合框架简介61.Collection接口及其实现类接口List定义了一个有序存储、元素可重复的集合的实现要求。List相当于线性表或动态数组。List默认按元素的添加顺序作为元素的索引,与数组相同,索引从0开始。List允许通过索引来访问List中的元素。ArrayList在内存中采取连续存储,适合元素的随机存取。但在大量插入元素和删除元素时效率会下降。LinkedList在内存中采取随机存储,存取元素效率较低,但插入、删除元素时效率很高。
1.2List接口及其实现类71.Collection接口及其实现类1.ArrayList应用ArrayList是通过封装了一个Object[]数组来实现的List类。ArrayList类具有不是线程安全、查询速度快、增删效率低慢等特点。ArrayList类的常用构造方法:publicArrayList():构造一个初始容量为10的空列表。publicArrayList(intinitialCapacity):构造一个具有指定初始容量的空列表。初始存储空间用完时可以按一定策略进行容量的自动扩充。1.2List接口及其实现类81.Collection接口及其实现类【示例程序7-1】ArrayList应用示例(ArrayListTest.java)功能描述:本程序演示ArrayList的构造方法和常用方法的使用方法,重点要求掌握构建一个ArrayList实例、向集合中添加元素、读取元素、修改元素、删除元素、获取集合元素个数、遍历集合等基本操作。1.2List接口及其实现类91.Collection接口及其实现类LinkedList是功能最强大,使用最广泛的Java集合实现类。根据LinkedList类的JDK源码,可以知道LinkedList是通过链表来实现的List类。因此,LinkedList类增删元素快,但查询速度慢。堆栈(Stack)是一种操作受限的线性表,只能在栈顶插入元素,只能在栈顶删除元素,即先进后出(FirstInLastOut)。利用LinkedList提供的push()、pop()方法可以方便地实现堆栈。1.3LinkedList应用
101.Collection接口及其实现类队列是一种操作受限的线性表,只能在队尾插入元素,只能在队首删除元素,即FirstInFirstOut。利用LinkedList提供add()/offer()/addFirst()、poll()/removeFirst()方法可以方便地实现队列。1.3LinkedList应用
111.Collection接口及其实现类【示例程序7-2】LinkedList应用示例(LinkedListTest.java)功能描述:本程序演示LinkedList的构造方法和常用方法的使用方法,重点要求掌握构建一个LinkedList实例、向集合中添加元素、读取元素、修改元素、删除元素、获取集合元素个数、遍历集合等基本操作。1.2List接口及其实现类121.Collection接口及其实现类Set是数学中的集合在Java中的实现,具有无序性和唯一性(互异性)。Set主要有HashSet和TreeSet两种实现。HashSet:类采用Hash技术,其特性在于其内对象的散列对象。优点在于能够快速定位元素。HashSet类不是线程同步的。TreeSet:是Set接口的另一个实现子类,相当于有序集合,采用自平衡的排序二叉树实现有序的集合。TreeSet既能保证元素的互异性(没有重复的元素,即唯一性),并且自然顺序的升序进行排列。
1.4HashSet应用131.Collection接口及其实现类【示例程序7-3】HashSet应用示例(HashSetTest.java)功能描述:本程序演示HashSet的构造方法和常用方法的使用方法,重点要求掌握构建一个HashSet实例、向集合中添加元素、读取元素、修改元素、删除元素、获取集合元素个数、遍历集合等基本操作。1.4HashSet应用141Collection接口及其实现类2Map接口及其实现类4让我们一起来编程学习提纲3Java计算生态152.Map接口及其实现类Map主要用来存储键值对<Key/Value>对象的集合。一个Map的键(Key)是唯一的(不能重复)。Map中每个键和值一一对应,因此,根据键(Key)可快速查询出对应的值(Value)。Map接口主要的实现类包括:HashMap和TreeMap。Map.Entry:Map类提供了一个称为entrySet()的方法,这个方法返回一个Map.Entry实例化后的对象集。接着,Map.Entry类提供了一个getKey()方法和一个getValue()方法。2.1Map接口简介
162.Map接口及其实现类Java集合框架中的接口及其实现类套路固定,注意知识的迁移和同化。查阅API帮助文档,熟悉构造方法和常用方法,了解共性和个性。【示例程序7-4】HashMap应用示例(HashMapTest.java)功能描述:本程序定义要Student类,学号做Key,Student对象做Value,将其加入HashMap中,演示了构建HashMap对象、添加元素、删除元素、三种方法遍历HashMap等基本操作。2.2HashMap应用
172.Map接口及其实现类TreeMap基于红黑树的NavigableMap实现。红黑树是一种自平衡二叉查找树。TreeMap根据其键的自然顺序进行排序,或者根据创建TreeMap时提供的Comparator进行排序。TreeMap和HashMap使用方法几乎完全一样。2.3TreeMap应用
182.Map接口及其实现类【编程任务】字符统计程序编程要求:通过键盘输入一个字符串,按字母顺序打印出每个字符及其出现次数。编程提示:用TreeMap<Character,Integer>实现。循环遍历该字符串的每一个字符,如果TreeMap中已经存储该字符,则出现次数加1,否则,存储该字符,出现次数为1。2.3TreeMap应用
191Collection接口及其实现类2Map接口及其实现类4让我们一起来编程学习提纲3Java计算生态203.Java计算生态开发Java应用程序就像搭积木一样,Java应用程序可以调用自己的类和方法,也可以调用JDKAPI提供的类和方法,当然还可以调用第三方提供的类和方法。Java拥有全球最大的开发者专业社群,构建了一个完整开放的计算生态。总之,我们可以编写极少的代码,完成更加强大的功能。
中文繁简转换包:ZHConverter汉语拼音工具包:PinYin4jOffice文档读写包:ApachePOI表达式求值引擎:Aviator213.Java计算生态对于中文的繁简体转换是一种很常见的需求。ZHConverter是一个简繁体中文互换的Java开源类库。JavaProject使用第三方Jar包的步骤:下载jar包:ZHConverter在JavaProject中建立专门存放第三方类为的folder:lib,如已建立可以略过本步骤。将jar包复制到lib中,右击BuildPath->AddtoBuildPath,Jar包就会添加到ReferencedLibrary中。 3.1中文简繁转换
223.Java计算生态【示例程序7-5】中文简繁转换应用示例(HashMapTest.java)功能描述:本程序使用ZHConverter包实现中文字符串的简体和繁体转换。3.1中文简繁转换
233.Java计算生态3.1中文简繁转换
243.Java计算生态Pinyin4j是一个功能强悍的汉语拼音工具包,是上的一个开源项目。Pinyin4j可以将中文(多音字,繁体字)转成拼音,并且拼音输出格式可以定制。下载jar包:下载地址:/artifact/com.belerweb/pinyin4j/2.5.0将jar包复制到lib中,右击BuildPath->AddtoBuildPath,ReferencedLibrary3.2汉字转换拼音253.Java计算生态注意事项:format.setToneType(HanyuPinyinToneType);方法参数HanyuPinyinToneType有以下常量对象:HanyuPinyinToneType.WITH_TONE_NUMBER用数字表示声调,例如:liu2HanyuPinyinToneType.WITHOUT_TONE无声调表示,例如:liuHanyuPinyinToneType.WITH_TONE_MARK用声调符号表示,例如:liú
3.2汉字转换拼音263.Java计算生态设置特殊拼音ü的显示格式:format.setVCharType(HanyuPinyinVCharType);方法参数HanyuPinyinVCharType有以下常量对象:HanyuPinyinVCharType.WITH_U_AND_COLON
以U和:表示ü,例如:lu:HanyuPinyinVCharType.WITH_V以V表示该字符,例如:lvHanyuPinyinVCharType.WITH_U_UNICODE以ü表示3.2汉字转换拼音273.Java计算生态设置大小写格式:format.setCaseType(HanyuPinyi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 物业公司工会工作制度
- 监控值守人员工作制度
- 派出所思想工作制度
- 综治管理日常工作制度
- 民族宗教保密工作制度
- 会商机制工作制度
- 疫情防控诊所工作制度
- 社区信访代理工作制度
- 公司出纳工作制度
- 五型班子工作制度
- 建筑公司安全员岗位入职合同样本
- 2026年学生入团摸底考试题库及参考答案
- (三调)武汉市2026届高中毕业生三月调研考试生物试卷(含答案)
- 2026鞍钢集团校招招聘笔试备考试题及答案解析
- 微流控芯片分离技术-洞察与解读
- 2026年感染性休克患者护理查房课件
- GB/T 1402-2025轨道交通牵引供电系统电压
- 新版部编版三年级下册道德与法治全册教案(完整版)教学设计含教学反思
- 保安门卫勤务培训课件
- 2026年武汉警官职业学院单招职业技能考试题库及参考答案详解一套
- 仓储库存周转率优化与呆滞物料清理报告
评论
0/150
提交评论