已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
电子信息学院实验报告书课程名: 软件开发基础Java(2) 题 目: 实验04 泛型与集合类 实验类别: 【设计】 班 级: 软件1412 学 号: 141003330212 姓 名: 张杨松 评语:实验态度:认真( ) 一般( ) 较差( )实验结果:正确( ) 部分正确( ) 错( )实验理论:掌握( ) 熟悉( ) 了解( ) 生疏( )操作技能:较强( ) 一般( ) 较差( )实验报告:较好( ) 一般( ) 较差( )成绩: 指导教师: 王中华 实验时间: 2015年4月22日一、实验目的(1)掌握集合的概念、体系结构、分类及使用场景;(2)了解Set接口及主要实现类(HashSet、TreeSet);(3)了解List接口及主要实现类(ArrayList、LinkedList、Vector);(4)掌握ArrayList的使用,以及ArrayList与Vector的区别;(5)了解Map接口及主要实现类(HashMap、TreeMap、HashTable);(6)掌握HashMap的使用,以及HashMap与HashTable的区别。二、实验内容(1)编写程序练习List集合的基本使用: 创建一个只能容纳String对象名为names的ArrayList集合; 按顺序往集合中添加5个字符串对象:“张三”、“李四”、“王五”、“马六”、“赵七”; 对集合进行遍历,分别打印集合中的每个元素的位置与内容; 首先打印集合的大小,然后删除集合中的第3个元素,并显示删除元素的内容,然后再打印目前集合中第3个元素的内容,并再次打印集合的大小。(2)编写程序练习Map集合的基本使用: 创建一个只能值只能容纳String对象的Person的HashMap集合; 往集合中添加5个“键值”对象:id001、name张三、sex男、age28、love我爱学Java; 对集合进行遍历,分别打印集合中的每个元素的键与值; 首先打印集合的大小,然后删除集合中的键为age的元素,并显示删除元素的内容,并再次打印集合的大小。(3)编写Java应用程序,使用Vector向量来保存用户输入的若干个字符串。循环读入用户输入的字符串,以end结束。将所有字符串显示出来。在所有字符串的中间位置插入“NICE”,再次显示所有字符串。(4)应用泛型编写一个Java程序,输出三角形、长方形、正方形及圆的面积。要求:首先定义一个接口,该接口中包含一个计算图形面积的方法;其次,定义四个类分别表示三角形、长方形、正方形和圆,在类中分别实现不同图形面积的计算方法;最后,应用泛型可以在控制台输出各种不同图形的面积。三、实验结果(关键代码和运行结果)import java.util.ArrayList;import java.util.List;/* * 测试容器类ArrayList和接口List以及相关的方法运用 * * author Administrator * */public class DemoArrayList DemoArrayList() / 创建一个只能容纳String对象名为names的ArrayList集合;List names = new ArrayList();names.add(张三);names.add(李四);names.add(王五);names.add(马六);names.add(赵七);/ 对集合进行遍历,分别打印集合中的每个元素的位置与内容;for (int i = 0; i + names.get(i);/ 打印集合的大小System.out.println(改变前的容器大小为: + names.size();/ 删除集合中的第3个元素System.out.println(删除的第三个元素为: + names.remove(3);/ 打印目前集合中第3个元素的内容System.out.println(第三个元素为: + names.get(3);/ 打印集合的大小System.out.println(改变后的容器大小为: + names.size();public static void main(String args) new DemoArrayList();import java.util.HashMap;import java.util.Map;/* * (2)测试Map集合的基本使用 * * author Administrator * */public class DemoHashMap DemoHashMap() Map Person = new HashMap();Person.put(id, 001);Person.put(name, 张三);Person.put(sex, 男);Person.put(age, 28);Person.put(love, 我爱Java);/ 对集合进行遍历,分别打印集合中的每个元素的位置与内容;System.out.println(id- + Person.get(id);System.out.println(name- + Person.get(name);System.out.println(sex- + Person.get(sex);System.out.println(age- + Person.get(age);System.out.println(love- + Person.get(love);/ 打印集合的大小System.out.println(改变前的容器大小为: + Person.size();/ 删除集合中的键为age的元素System.out.println(刪除的值为: + Person.remove(age);/ 打印集合的大小System.out.println(改变后的容器大小为: + Person.size();public static void main(String args) new DemoHashMap();import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Iterator;import java.util.Vector;/* * 测试Vector容器的基本用法 * * author Administrator 1 2 4 5 */public class DemoVector BufferedReader br = null;/* * 获取一个Vector容器 * * return */public Vector getVector() String str;/ 循环读入用户输入的字符串br = new BufferedReader(new InputStreamReader(System.in);Vector vector = new Vector();try while (!(str = br.readLine().equals(end) vector.addElement(str); catch (IOException e) e.printStackTrace();System.out.println(-);System.out.println(插入前容器的元素有:);showInfo(vector);/ 在所有字符串的中间位置插入“NICE”vector.insertElementAt(NICE, vector.size() / 2);return vector;/* * 遍历容器中的元素 * * param v */public void showInfo(Vector v) Iterator i = v.iterator();while (i.hasNext() System.out.println(i.next();public static void main(String args) DemoVector dv = new DemoVector();Vector vector = dv.getVector();System.out.println(-);System.out.println(插入元素后容器的元素为:);dv.showInfo(vector);/* * 测试泛型的使用接口 * * author Administrator * */interface ShapeAreaPeri double getArea();class Triangle implements ShapeAreaPeri double a, b, c;Triangle(double a, double b, double c) this.a = a;this.b = b;this.c = c;public double getArea() double rp = (a + b + c) / 2.0;return Math.sqrt(rp - a) * (rp - b) * (rp - c);class Rectangle implements ShapeAreaPeri double width, length;Rectangle(double w, double l) width = w;length = l;public double getArea() return width * length;class Circle implements ShapeAreaPeri double ridus;final double pi = 3.14;Circle(double r) ridus = r;public double getArea() return pi * ridus * ridus;public class TestGeneric public void test(ShapeAreaPeri sap) System.out.println(所在图形的面积为: + sap.getAre
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年南阳职业学院单招职业适应性考试备考题库及答案解析
- 2026年兰州石化职业技术学院单招职业适应性测试备考试题及答案解析
- 2026年朔州职业技术学院单招职业适应性考试备考试题及答案解析
- 2026年鹤岗师范高等专科学校单招职业适应性考试备考试题及答案解析
- 2026年甘肃工业职业技术学院单招职业适应性考试备考题库及答案解析
- 期末考试学生个人总结9篇
- 2025-2026学年河南省郑州市二七区七年级(上)月考英语试卷(12月份)(含答案)
- 2026年运城师范高等专科学校单招职业适应性考试模拟试题及答案解析
- 2026年苏州经贸职业技术学院单招职业适应性测试模拟试题及答案解析
- 2026年渤海理工职业学院单招职业适应性测试模拟试题及答案解析
- 2023年四川省普通高中学业水平合格性考试物理试题(含答案)
- 弱电系统维护中的安全和文明措施
- 中国高血压防治指南修订版解读培训课件
- 2024-2025学年青海省西宁市七年级(上)期末英语试卷(含答案)
- 人教川教版三年级上册生命生态安全全册课件
- 老年人能力评估师(三级)职业鉴定考试题及答案
- 新沪科版八年级物理第六章熟悉而陌生的力单元测试试题(含答案)
- 后勤服务方案(技术方案)
- 学术交流英语(学术写作)智慧树知到期末考试答案2024年
- 医院药学信息服务
- 四川省安全员《B证》考试题库及答案
评论
0/150
提交评论