1、java实验04电子信息学院实验报告书课程名: 软件开发基础Java(2) 题 目: 实验04 泛型与集合类 实验类别: 【设计】 班 级: 软件1412 学 号: 141003330212 姓 名: 张杨松 一、实验目的(1)掌握集合的概念、体系结构、分类及使用场景;(2)了解Set接口及主要实现类(HashSet、TreeSet);(3)了解List接口及主要实现类(ArrayList、LinkedList、Vector);(4)掌握ArrayList的使用,以及ArrayList与Vector的区别;(5)了解Map接口及主要实现类(HashMap、TreeMap、HashTable);
2、(6)掌握HashMap的使用,以及HashMap与HashTable的区别。二、实验内容(1)编写程序练习List集合的基本使用: 创建一个只能容纳String对象名为names的ArrayList集合; 按顺序往集合中添加5个字符串对象:“张三”、“李四”、“王五”、“马六”、“赵七”; 对集合进行遍历,分别打印集合中的每个元素的位置与内容; 首先打印集合的大小,然后删除集合中的第3个元素,并显示删除元素的内容,然后再打印目前集合中第3个元素的内容,并再次打印集合的大小。(2)编写程序练习Map集合的基本使用: 创建一个只能值只能容纳String对象的Person的HashMap集合; 往
3、集合中添加5个“键值”对象:id001、name张三、sex男、age28、love我爱学Java; 对集合进行遍历,分别打印集合中的每个元素的键与值; 首先打印集合的大小,然后删除集合中的键为age的元素,并显示删除元素的内容,并再次打印集合的大小。(3)编写Java应用程序,使用Vector向量来保存用户输入的若干个字符串。循环读入用户输入的字符串,以end结束。将所有字符串显示出来。在所有字符串的中间位置插入“NICE”,再次显示所有字符串。(4)应用泛型编写一个Java程序,输出三角形、长方形、正方形及圆的面积。要求:首先定义一个接口,该接口中包含一个计算图形面积的方法;其次,定义四个
4、类分别表示三角形、长方形、正方形和圆,在类中分别实现不同图形面积的计算方法;最后,应用泛型可以在控制台输出各种不同图形的面积。三、实验结果(关键代码和运行结果)import java.util.ArrayList;import java.util.List;/* * 测试容器类ArrayList和接口List以及相关的方法运用 * * author Administrator * */public class DemoArrayList DemoArrayList() / 创建一个只能容纳String对象名为names的ArrayList集合; List names = new ArrayLi
5、st(); 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
6、(第三个元素为: + 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()
7、; 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- + Per
8、son.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
9、 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() St
10、ring 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); /
11、在所有字符串的中间位置插入“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 vec
12、tor = 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 =
13、 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 imple
14、ments 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.getArea(); public static void main(String args) Triangle t = new Triangle(1.1, 2.0, 3.0); Circle c = new Circle(1.2); Rectangle r = new Rectangle(1.2, 1.4); TestGeneric tg = new TestGeneric(); tg.test(t); tg.test(c); tg.test(r); 四、实验体会
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1