版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学习目标学会使用Collections、Arrays工具类操作集合和数组
主要内容Collections工具类Arrays工具类集合及数组工具在实际项目开发中,针对集合和数组的操作非常频繁,例如将集合中的元素排序、从集合中查找某个元素、对数组进行排序、查找、复制、替换等。针对这些常见操作,JDK提供了集合工具类Collections和数组工具类Arrays专门用来操作集合和数组,它们位于java.util包中。这两个类提供了大量的静态方法,可以很方便地对集合和数组元素进行操作。7.5.1Collections工具类集合工具类Collections提供了对集合进行排序、查找和替换等操作的静态方法。1.排序操作Collections类中提供了一系列方法用于对List集合进行排序,如表7-7所示。7.5.1Collections工具类【例7-21】用Collections工具类对集合排序importjava.util.*;publicclassEx7_21{ publicstaticvoidmain(String[]args){ ArrayListlist=newArrayList(); Collections.addAll(list,"C","H","E","N");//添加元素
System.out.println("排序前:"+list);//输出排序前的集合
Collections.reverse(list);//反转集合
System.out.println("反转后:"+list); Collections.sort(list);//按自然顺序排列
System.out.println("按自然顺序排序后:"+list); Collections.shuffle(list);//打乱顺序,洗牌
System.out.println("洗牌后:"+list); }}7.5.1Collections工具类2.查找、替换操作Collections类还提供了一些常用方法用于查找、替换集合中的元素,如表所示7.5.1Collections工具类【例7-22】用Collections工具类对集合查找、替换元素importjava.util.*;publicclassEx7_22{ publicstaticvoidmain(String[]args){ ArrayListlist=newArrayList(); Collections.addAll(list,-1,3,7,5,7); System.out.println("集合中的元素:"+list); System.out.println("集合中的最大元素:"+Collections.max(list)); System.out.println("集合中的最小元素:"+Collections.min(list)); Collections.replaceAll(list,7,6); //将集合中的7用6替换掉
System.out.println("替换后的集合:"+list); }}7.5.2Arrays工具类数组工具类Arrays提供了对数组元素进行排序、查找、复制、替换等操作的静态方法,如表所示。7.5.2Arrays工具类1.实现排序和查找数组元素【例7-23】用Arrays工具类对数组排序importjava.util.*;publicclassEx7_23{ publicstaticvoidmain(String[]args){ int[]a={6,9,3,5,1};//初始化一个数据
System.out.print("排序前:"); printArray(a);//打印原数组
Arrays.sort(a);//调用Arrays的sort方法排序
System.out.print("排序后:"); printArray(a); System.out.print("请输入要查找的元素:"); Scannersc=newScanner(System.in); //接收键盘输入的数据
intn=sc.nextInt(); //将数据转换为整型赋值给n intindex=Arrays.binarySearch(a,n); //查找指定元素n System.out.println("元素"+n+"的索引是:"+index);//输出元素n的索引位置
}
publicstaticvoidprintArray(int[]a){//定义打印数组方法
System.out.print("["); for(inti=0;i<a.length;i++){ if(i!=a.length-1){ System.out.print(a[i]+","); }else{ System.out.println(a[i]+"]"); } } }}7.5.2Arrays工具类2.实现复制和填充数组元素【例7-24】用Arrays工具类复制数组元素importjava.util.*;publicclassEx7_24{ publicstaticvoidmain(String[]args){ int[]a={6,9,3,5,1}; int[]b=Arrays.copyOfRange(a,1,7);//复制数组a指定元素到数组b for(inti=0;i<b.length;i++){//遍历输出数组b System.out.print(b[i]+""); } System.out.println(); Arrays.fill(b,4,6,7); //用7替换数组中最后两个值
for(inti=0;i<b.length;i++){//遍历输出数组b System.out.print(b[i]+""); } }}7.5.2Arrays工具类3.实现将数组转换为字符串【例7-25】用Arrays工具类将数组转换为字符串importjava.util.*;publicclassEx7_25{ publicstaticvoidmain(String[]args){ int[]a={6,9,3,5,1}; StringaString=Arrays.toString(a);//使用toString()方法将数组转换为字符串
System.out.println(aString); }}【案例7-2】学生成绩排序程序设计案例描述教师经常需要对学生的考试成绩进行整理和排序。本案例要求使用所学知识编写一个学生成绩排序程序。该程序可以将录入的学生成绩保存到集合中,进行备份、升序排序、反转顺序等操作。程序运行结果如图所示:【案例7-2】学生成绩排序程序设计设计目标学会分析“学生成绩排序”程序的设计思路;理解并掌握使用工具类Collections完成集合的排序、反转等操作的方法;能够独立完成“学生成绩排序”程序的源代码编写、编译及运行。【案例7-2】学生成绩排序程序设计实现思路通过对案例描述的分析可知,需要在程序用一个集合对象存放学生成绩,并对该集合进行复制、排序、反转操作,然后遍历输出集合元素值。可以使用ArrayList集合保存数据,并使用集合工具类Collections的静态方法完成对所需的集合操作。(1)定义成绩集合类GradeList,该类包含用于保存学生成绩的ArrayList集合对象作为成员变量,在构造方法创建中创建集合对象。(2)在GradeList类中定义成员方法add()用于录入学生成绩;sort()用于将成绩升序排序;reverse()用于反转集合中成绩的顺序;copy()用于复制集合中的元素。(3)最后编写测试类,在其mai
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 危险作业安全培训实施方案
- 危化品重大危险源管控措施
- 家政服务员岗前技能培训规范
- 植物基膳食营养补充手册
- 环保三同时验收管理方案
- 肉牛饲料配制与营养调控方案
- 蔬菜蚜虫物理诱杀技术规程
- 生产作业环节风险管控措施
- 家政服务合同签订管理规范细则
- 小儿推拿基础调理流程指引
- (2026版)《中华人民共和国生态环境法典》培训
- 水库反恐怖防范工作制度
- 2025年国库集中支付试题及答案
- 延长石油校招笔试题库
- 资产评估工作奖惩制度
- 2026四川省引大济岷水资源开发有限公司第一批次招聘27人备考题库附参考答案详解(满分必刷)
- 个人劳务雇佣合同模板(2026新版)
- 2026年保安员资格证理论知识考试题库
- 生药学(广东海洋大学)
- 《老年急危重症容量管理急诊专家共识》总结2026
- 财务安全课件
评论
0/150
提交评论