Java集合框架实验报告
集合应用Java实验报告

集合应用Java实验报告引言集合是一种用于存储多个数据对象的容器,Java 中提供了多种集合类来支持不同的需求。
在本次实验中,我们将学习和应用Java 集合框架的相关知识,掌握集合的基本用法和常见操作。
实验目的1. 理解集合的概念和作用。
2. 学习并掌握Java 集合框架提供的常见集合类。
3. 掌握集合的基本操作和常见算法。
实验内容本次实验包括以下几个部分:1. Java 集合框架概述2. 集合类的分类和特点3. 集合的基本操作4. 常见集合类的使用示例Java 集合框架概述Java 集合框架是Java 提供的一组类和接口,用于存储和操作多个数据对象。
它提供了各种类型的集合类,包括List(列表)、Set(集合)和Map(映射),以及一些工具类和算法。
使用集合框架可以更方便地进行数据的存储、查找和处理,提高编程效率和代码的可读性。
集合类的分类和特点在Java 集合框架中,集合类可以分为三类:List、Set 和Map。
1. List:有序可重复的集合,可以通过索引访问元素。
常见的实现类有ArrayList 和LinkedList。
2. Set:无序不重复的集合,不允许存储重复元素。
常见的实现类有HashSet 和TreeSet。
3. Map:存储键值对的集合,根据键查找和操作值。
常见的实现类有HashMap 和TreeMap。
每种类型的集合类都有其特点和用途,根据具体需求选择合适的集合类进行使用。
集合的基本操作集合类提供了一系列用于操作集合的方法,常见的操作包括添加元素、删除元素、查找元素和遍历集合。
以ArrayList 为例,介绍集合的基本操作:java创建一个ArrayList 对象List<String> list = new ArrayList<>();向集合中添加元素list.add("Java");list.add("Python");list.add("C++");删除集合中的元素list.remove("Python");查找集合中的元素boolean contains = list.contains("Java");遍历集合中的元素for (String elem : list) {System.out.println(elem);}通过以上代码,我们可以看到,ArrayList 的操作非常简单和直观,而其他集合类的操作也类似。
java集合的使用实验总结 -回复

java集合的使用实验总结-回复问题并进行总结。
1. 什么是Java集合?Java集合是Java编程语言中提供的一组数据结构和算法的实现,用于存储和操作数据。
它提供了一种灵活的方式来组织、访问和操作数据,使我们能够更方便地进行数据处理和操作。
2. Java集合框架的组成及特点是什么?Java集合框架包括以下几个主要的接口和类:Collection接口、List接口、Set接口、Map接口等。
- Collection接口是List和Set接口的父接口,用于存储和处理一组对象。
- List接口是一个有序的集合,允许重复的元素。
- Set接口是一个不允许重复元素的集合。
- Map接口是一种键值对的映射类,不允许重复的键,但允许重复的值。
Java集合框架的特点包括:- 可变长度:集合类的长度是可以动态变化的,可以根据需要增加或删除元素。
- 泛型支持:集合类支持泛型,可以指定存储的元素类型。
- 高效性能:Java集合框架的实现具有高效性能,能够快速地进行数据操作和处理。
- 线程安全性:集合类不是线程安全的,可以使用并发集合类来实现多线程安全访问。
3. Java集合框架的常用类有哪些?Java集合框架提供了许多常用的类,包括:- ArrayList:是List接口的可变长数组实现,支持随机访问,适用于频繁访问元素的场景。
- LinkedList:是List接口的双向链表实现,支持高效地插入和删除操作,适用于频繁插入和删除元素的场景。
- HashSet:是Set接口的哈希表实现,不允许重复元素,适用于需要快速访问和删除元素的场景。
- TreeSet:是Set接口的有序集合实现,基于红黑树实现,可以按照自然顺序或自定义顺序来访问和迭代元素。
- HashMap:是Map接口的哈希表实现,基于哈希算法来存储和检索键值对。
- TreeMap:是Map接口的有序映射实现,基于红黑树结构,可以按照键的自然顺序或自定义顺序来访问和迭代键值对。
Java语言程序设计A实验5:集合框架

doublemarkIn,sum=0;
Scannersc=newScanner(System.in);
List<Double>marks=newArrayList<Double>();
for(;;)
{
System.out.print("请输入一名学生成绩[输入负数结束]:");
markIn=sc.nextDouble();
marks.add(markIn);
}
while(markIn>=0);
intlen=marks.size()-1;
marks.remove(len);
for(inti=0;i<len;i++)
{
average+=marks.get(i)/len;
}
System.out.print(len+"名学生成绩的平均分为:"+average);
}
}
教师签字__________
第三部分结果与讨论(可加页)
1、实验结果分析(包括数据处理、影响因素讨论、综合分析和结论等)
实验中使用ArrayList数组存储学生分数,在不确定学生人数的情况下,这种方法会比使用double[]更适用,可变的集合长度增大了程序的灵活性,更贴近现实中的真实需求。不过,本次实验中使用do……while循环是先执行循环体中的内容在判断,所以,最后作为结束输入的负数也将被存储进集合中,一定要记得在计算平均分之前将其删除。
{
doublemarkIn;
Scannersc=newScanner(System.in);
List<Double>marks=newArrayList<Double>();
java实验总结与心得

java实验总结与心得
在进行Java实验的过程中,我获得了很多宝贵的经验和心得。
首先,通过实验我深刻理解了Java的基本语法和面向对象的思想。
实践中,我学会了如何定义类、创建对象、使用变量和方法等基本概念,并且能够灵活运用它们解决问题。
其次,实验过程中我学会了如何使用Java的集合框架来处理数据。
我了解了不同类型的集合类,例如ArrayList、LinkedList和HashMap等,并学会了它们的特点和适用场景。
通过实验,我发现合理选择和使用集合类可以提高程序的效率和可读性。
此外,实验还加深了我对异常处理的理解。
我学会了如何使用try-catch语句来捕获和处理异常,以及如何使用finally块来确保资源的释放。
通过实验中遇到的各种异常情况,我明白了异常处理在保证程序稳定性和可靠性方面的重要性。
在实验过程中,我也体会到了团队合作的重要性。
有时候,我们需要与他人合作完成一个大型项目,这要求我们具备良好的沟通和协作能力。
通过与同学们一起讨论和协商解决问题,我意识到团队合作可以提高工作效率和质量。
总结起来,通过Java实验,我不仅掌握了Java的基本语法和
面向对象的思想,还学会了使用集合框架和处理异常的技巧。
同时,实验也加强了我的团队合作能力和问题解决能力。
这些经验和心得
将对我今后的学习和工作产生积极的影响。
实验1 java集合框架与反射

实验1 java集合框架与反射
一、实验目的
1、掌握java集合框架的层次体系结构、掌握规则集、线性表、队列及数据结构有关的算法。
2、了解类型信息的基本概念、类型信息的存储、类型信息的加载以及类型信息的表示,了解什么是反射、为什么需要反射以及深入反射机制。
3、深入了解Class类,通过Class对象实现反射机制。
二、实验内容
(1)输入如下程序,观察输出结果。
(2)输入如下程序,观察输出结果。
(3)输入如下程序,编译看在bin目录下有无一个与此类同名的.class文件。
(4)输入如下程序,编译后看在bin目录下会产生多少个.class文件,这些文件名的命名方式是怎样的?
(5)输入如下程序,编译并运行写出输出结果。
三、根据下面要求编写程序
编写一个实现IOC功能的简单Spring框架,包含对象注册、对象管理、及暴露给外部获取对象的功能,并编写测试程序。
具体参考课本2.6.
注册器方式可以采用XML,也可以采用.txt文件。
四、实验结果
写实验报告。
内容包括:
1、习题的运行结果,源程序。
2、程序调试中出现的错误提示。
(英文、中文对照)
3、若有没通过的程序,分析原因。
java实验6泛型与集合框架

java实验6泛型与集合框架
实验6 泛型与集合框架
一、实验目的
(1)掌握泛型与集合框架。
二、实验环境
JDK1.6+Eclpise3.2
三、实验内容
1、建立一个线性表,依次向线性表中输入数据元素1,2,3,……10,然后删除数据元素5,
最后依次显示当前线性表中的数据元素。
2、建立一个线性表,依次向线性表中插入15个数据元素,每个元素都是两位的随机整数,
然后设计算法编写程序使线性表左端的元素都是偶数,右边的元素都是奇数,最后依次显示当前线性表中的数据元素。
3、建立一个线性表,依次向线性表中插入6个数据元素,每个元素都是两位的随机整数,
依次显示当前线性表中的数据元素,然后使线性表置逆,再依次显示当前线性表中的数据元素。
4、使用堆栈结构编写十进制整数到R(2、8、16)进制整数的数制转换程序。
5、编写一个程序,将链表中的学生英语成绩单存放到一个树集中,使得按成绩自动排序,
并输出排序结果。
6、有10个U盘,有两个重要的属性:价格和容量。
编写一个应用程序,使用TreeMap
类,分别按照价格和容量排序输出10个U盘的详细信息。
7、题目要求:对于给定的一个字符串的集合,格式如:
{aaa bbb ccc},{bbb ddd},{eee fff},{ggg},{ddd hhh}
要求将其中交集不为空的集合合并,要求合并完成后的集合之间
无交集,例如上例应输出:
{aaa bbb ccc ddd hhh},{eee fff},{ggg}
四、实验结果
五、实验总结:。
java实验报告

java实验报告Java 实验报告一、实验目的本次 Java 实验的主要目的是通过实际编程操作,深入理解和掌握Java 语言的基本语法、面向对象编程的概念和方法,以及常用类库的使用。
同时,培养我们的问题解决能力、逻辑思维能力和代码规范意识,为今后的软件开发工作打下坚实的基础。
二、实验环境1、操作系统:Windows 102、开发工具:Eclipse IDE for Java Developers3、 JDK 版本:JDK 18三、实验内容本次实验共包括以下三个部分:1、 Java 基本语法练习变量与数据类型运算符与表达式控制流语句(ifelse、for、while、dowhile)数组2、面向对象编程实践类与对象的定义和使用构造函数与方法重载封装、继承与多态抽象类与接口3、 Java 常用类库应用String 类与字符串操作集合框架(ArrayList、HashMap)文件输入输出(File、FileReader、FileWriter)四、实验步骤及代码实现1、 Java 基本语法练习变量与数据类型:```javapublic class VariableDataType {public static void main(String args) {int age = 20;double salary = 50005;String name ="张三";boolean isStudent = true;Systemoutprintln("年龄:"+ age);Systemoutprintln("工资:"+ salary);Systemoutprintln("姓名:"+ name);Systemoutprintln("是否是学生:"+ isStudent);}}```运算符与表达式:```javapublic class OperatorExpression {public static void main(String args) {int num1 = 10;int num2 = 5;int sum = num1 + num2;int difference = num1 num2;int product = num1 num2;int quotient = num1 / num2;int remainder = num1 % num2; Systemoutprintln("和:"+ sum);Systemoutprintln("差:"+ difference);Systemoutprintln("积:"+ product);Systemoutprintln("商:"+ quotient);Systemoutprintln("余数:"+ remainder);}}```控制流语句:```javapublic class ControlFlowStatement {public static void main(String args) {// ifelse 语句int score = 80;if (score >= 90) {Systemoutprintln("优秀");} else if (score >= 80) {Systemoutprintln("良好");} else if (score >= 70) {Systemoutprintln("中等");} else if (score >= 60) {Systemoutprintln("及格");} else {Systemoutprintln("不及格");}// for 循环for (int i = 1; i <= 5; i++){Systemoutprintln("第" + i +"次循环");}// while 循环int j = 1;while (j <= 5) {Systemoutprintln("第" + j +"次 while 循环");j++;}// dowhile 循环int k = 1;do {Systemoutprintln("第" + k +"次 dowhile 循环");k++;} while (k <= 5);}}```数组:```javapublic class ArrayExample {public static void main(String args) {//一维数组int numbers ={1, 2, 3, 4, 5};for (int num : numbers) {Systemoutprintln(num);}//二维数组int matrix ={{1, 2, 3},{4, 5, 6},{7, 8, 9}};for (int row : matrix) {for (int num : row) {Systemoutprint(num +"");}Systemoutprintln();}}}```2、面向对象编程实践类与对象的定义和使用:```javapublic class Person {private String name;private int age;public Person(String name, int age) {thisname = name;thisage = age;}public void showInfo(){Systemoutprintln("姓名:"+ name +",年龄:"+ age);}public static void main(String args) {Person person1 = new Person("张三", 20);person1showInfo();}}```构造函数与方法重载:```javapublic class ConstructorOverloading {private String name;private int age;public ConstructorOverloading(String name) {thisname = name;}public ConstructorOverloading(String name, int age) {thisname = name;thisage = age;}public void showInfo(){if (age == 0) {Systemoutprintln("姓名:"+ name);} else {Systemoutprintln("姓名:"+ name +",年龄:"+ age);}}public static void main(String args) {ConstructorOverloading person1 = new ConstructorOverloading("张三");person1showInfo();ConstructorOverloading person2 = new ConstructorOverloading("李四", 25);person2showInfo();}}```封装、继承与多态:```java//父类class Animal {private String name;public Animal(String name) {thisname = name;}public void eat(){Systemoutprintln(name +"正在吃东西");}}//子类继承父类class Dog extends Animal {public Dog(String name) {super(name);}public void bark(){Systemoutprintln(name +"在叫");}}public class InheritancePolymorphism {public static void main(String args) {Animal animal = new Dog("小黑");animaleat();//向下转型为 Dog 类型调用 bark 方法if (animal instanceof Dog) {Dog dog =(Dog) animal;dogbark();}}}```抽象类与接口:```java//抽象类abstract class Shape {abstract void draw();}//实现抽象类的子类class Circle extends Shape {@Overridevoid draw(){Systemoutprintln("画一个圆");}}//接口interface Moveable {void move();}//实现接口的类class Car implements Moveable {@Overridepublic void move(){Systemoutprintln("汽车在移动");}}public class AbstractInterfaceExample {public static void main(String args) {Shape shape = new Circle();shapedraw();Moveable car = new Car();carmove();}}```3、 Java 常用类库应用String 类与字符串操作:```javapublic class StringOperation {public static void main(String args) {String str1 ="Hello, ";String str2 ="World!";String str3 = str1 + str2;Systemoutprintln(str3);int length = str3length();Systemoutprintln("字符串长度:"+ length);char charAt = str3charAt(5);Systemoutprintln("第 5 个字符:"+ charAt);boolean contains = str3contains("World");Systemoutprintln("是否包含 World:"+ contains);}}```集合框架(ArrayList、HashMap):```javaimport javautilArrayList;import javautilHashMap;import javautilMap;public class CollectionFramework {public static void main(String args) {// ArrayListArrayList<String> names = new ArrayList<>();namesadd("张三");namesadd("李四");namesadd("王五");for (String name : names) {Systemoutprintln(name);}// HashMapHashMap<String, Integer> ages = new HashMap<>();agesput("张三", 20);agesput("李四", 25);agesput("王五", 30);for (MapEntry<String, Integer> entry : agesentrySet()){Systemoutprintln(entrygetKey()+"的年龄是" +entrygetValue());}}}```文件输入输出(File、FileReader、FileWriter):```javaimport javaioFile;import javaioFileReader;import javaioFileWriter;import javaioIOException;public class FileIOExample {public static void main(String args) {//写入文件try (FileWriter writer = new FileWriter("outputtxt")){writerwrite("这是写入文件的内容");} catch (IOException e) {eprintStackTrace();}//读取文件try (FileReader reader = new FileReader("outputtxt")){int character;while ((character = readerread())!=-1) {Systemoutprint((char) character);}} catch (IOException e) {eprintStackTrace();}}}```五、实验结果与分析1、 Java 基本语法练习变量与数据类型:能够正确定义和使用各种数据类型的变量,并进行基本的运算和输出。
JAVA实验报告材料-集合框架及泛型机制

Java语言程序设计C实验报告集合框架及泛型机制学生姓名专业、班级________________________________________ 指导教师 _______________________________________ 成绩_______________________________计算机与信息工程学院年月日一、实验目的学习课程相关章节知识,通过上机练习,掌握以下知识:1.掌握List 接口下ArrayList 及LinkedList 的使用方法。
2.掌握Map 接口下HashMap 及HashTable 的使用方法3.掌握集合中泛型的使用二、实验内容利用集合完成象数据库那样存储数据,并且可以简单查询,利用map 存储学生信息,字段如下:id ,name,age ,实现步骤:(1)创建类,类图如下:2)在main 方法编写逻辑代码3)运行程序并测试结果package ;public class Student {private String name ;private int age ;private String id ;public String getName() {return namepublic void setName(String name ) {this .name = name ;}public int getAge() {return age ;}public void setAge( int age ) {this .age = age ;}public String getId() {return id ;}public void setId(String id) {this .id = id;}public Student(String name , int age , String id ) { super ();this .name = name ;this .age = age ;this .id = id;}public void sayHi(){System. out .println( "name=" + this .getName()+ "age=" + this .getAge()+ " "+ "id=" + this .getId());}//Databace 类package ;import java.util.Collection;import java.util.HashMap;import java.util.Iterator;public class Databace {private Student a;public Databace() {super ();map = new HashMap<String,Student>();}public Student getA() {return a;}public void setA(Student a) {this .a = a;}HashMap<String,Student> map ;public void delete(){ID" );System. out .println( " 请输入要删除表中元素String id =Test. sc.next();if (map .containsKey( id)){map .remove( id);Collection<Student> c= map .values();IteratorvStude nt> it= c.iterator();while (it .hasNext()){a= it .n ext();a.sayHi();}}else{System. out .println("表中没有该元素");}}public void in sert(){System. out .println("按顺序输入id、age、name");String name =Test. sc.next();int age =Test. sc.n ext In t();String id =Test. sc.next();a= new Student( name ,age ,id );map .put( id , a);System. out .println("成功的插入一条记录”);public void update(){System. out .println("请输入要修改表中元素ID");String id =Test. sc.next();if (map .containsKey( id)){map .remove( id);System. out .println("按顺序输入name,age,id");id =Test. sc.next();String name =Test. sc.next();int age =Test. sc.nextInt();a= new Student( id ,age ,name );map .put( id , a);}else{System. out .println("表中没有该元素");}}public void select()System. out .println("请输入要查询的方式 1.查询单行 2.查询全部"); int i=Test. sc.nextInt();switch (i){case 1:{System. out .println("请输入要查询表中元素ID");String id =Test. sc.next();{a= map .get( id);a.sayHi();}else{System. out .println("表中没有该元素");}}break ;case 2:{Collection<Student> c=map .values();Iterator<Student> it= c.iterator();while (it .hasNext()){a= it .next();a.sayHi();}}break ;}}}//testpackage ;import java.util.*;public class Test {/*** @param args */public static Scanner sc= new Scanner(System. public static void main(String[] args ){// TODO Auto-generated method stuint i=0;Databace d = new Databace();while (i==0){int j=Test. sc.nextInt(); switch (j){case 1:d .insert(); breakcase 2: d .select(); breakcase 3: in);System. out .println( System. out .println( System. out .println( System. out .println( System. out .println( "1.储存学生信息") "2.查询学生信息") "3.修改学生信息") "4.删除学生信息") "退出");d .update(); breakcase 4:d .delete(); break default :i=1;}}}}提示:用id 做map 集合的键部分,用student 对象做map 集合的值部分效果显示:三、实验思想四、实验结果五、实验心得。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
浙江大学城市学院实验报告课程名称Java高级程序设计实验项目名称Java集合框架实验学生姓名专业班级学号一、实验目的1.理解Java集合框架的特点、接口与类之间的关系2.掌握Java集合框架的List接口,以及List接口的重要实现类LinkedList、ArrayList3.掌握Java集合框架的Set、SortedSet接口,以及重要实现类HashSet与TreeSet4.掌握Java集合框架的Map、SortedMap接口及其重要实现类HashMap、TreeMap5.掌握Java集合框架的Collection与Iterator接口的特点与使用方式二、实验内容1、使用List管理对象集合2、使用Map管理对象集合3、使用Set管理对象集合4、设计一个自定义的集合类三、实验步骤1、在Eclipse中新建工程(即项目)2、使用List管理对象集合1)新建一个包listExample2)在这个包中新建三个类:Student类,StudentList类,StudentListTest类。
参考代码: Student、java, StudentList、java,StudentListTest、java3)完善上面三个类,相关要求参考源代码程序的注释,即根据要求修改源代码程序,给出具体的实现代码(不使用泛型类)。
void addStudent(Student student){//添加一个学生对象boolean a=true;for(int i=0;i<students、size();i++){Student stud = (Student)students、get(i);if(stud、getId()、equalsIgnoreCase(student、getId())) a=false;}if(a==true)students、add(student);//修改代码,保证students集合中所有学生对象的id号唯一}void deleteStudentById(String id){//根据学号删除学生对象for(int i=0;i<students、size();i++){Student stud = (Student)students、get(i);if(stud、getId()、equalsIgnoreCase(id))students、remove(stud);}}void deleteStudentByName(String name){//根据姓名删除学生对象for(int i=0;i<students、size();i++){Student stud = (Student)students、get(i);if(stud、getName()、equalsIgnoreCase(name))students、remove(stud);}}void deleteStudentByAge(int age){//根据年龄删除学生对象for(int i=0;i<students、size();i++){Student stud = (Student)students、get(i);if(stud、getAge()==age)students、remove(stud);}}Student[] findByName(String name){int a=0;for(int i=0;i<students、size();i++){Student stud = (Student)students、get(i);if(stud、getName()、equalsIgnoreCase(name))a++;}Student[] st=new Student[a];int b=0;for(int i=0;i<students、size();i++){Student stud = (Student)students、get(i);if(stud、getName()、equalsIgnoreCase(name)){st[b]=stud;b++;}}return st;}Student[] findByAge(int age){int a=0;for(int i=0;i<students、size();i++){Student stud = (Student)students、get(i);if(stud、getAge()==age)a++;}Student[] st=new Student[a];int b=0;for(int i=0;i<students、size();i++){Student stud = (Student)students、get(i);if(stud、getAge()==age){st[b]=stud;b++;}}return st;}4)新创建listExample2包,重新设计设计上述程序(新程序都属于这个包),这时需要使用泛型类,即出现的List、ArrayList或LinkedList都使用泛型。
private List<Student> students = new ArrayList<Student>();void deleteStudentById(String id){//根据学号删除学生对象Iterator<Student> iterator = students、iterator();while(iterator、hasNext()){Student st=(Student)iterator、next();if(st、getId()==id) iterator、remove();}}void deleteStudentByName(String name){//根据姓名删除学生对象Iterator<Student> iterator = students、iterator();while(iterator、hasNext()){Student st=(Student)iterator、next();if(st、getName()==name) iterator、remove();}}void deleteStudentByAge(int age){//根据年龄删除学生对象Iterator<Student> iterator = students、iterator();while(iterator、hasNext()){Student st=(Student)iterator、next();if(st、getAge()==age) iterator、remove();}}List<Student> findByName(String name){List<Student> studs=new ArrayList<Student>();for(int i=0;i<students、size();i++){Student stud = (Student)students、get(i);if(stud、getName()、equals(name)){studs、add(stud);}}return studs;}List<Student> findByAge(int age){List<Student> studs=new ArrayList<Student>();for(int i=0;i<students、size();i++){Student stud = (Student)students、get(i);if(stud、getAge()==age)studs、add(stud);}return studs;}3、使用Map管理对象集合1)新建一个包MapExample2)在这个包中新建三个类:Student类,StudentMap类,StudentMapTest类。
参考代码Student、java, StudentMap、java,StudentMapTest、java3)完善上面三个类,相关要求参考源代码程序的注释,即根据要求修改源代码程序,给出具体的实现代码(不使用泛型类)。
void deleteStudentByName(String name){//根据学生姓名删除学生对象Collection<Student> values=students、values();Iterator<Student> it=values、iterator();while(it、hasNext()){if(it、next()、getName()、equals(name))it、remove();}}void deleteStudentByAge(int age){//根据学生年龄删除学生对象Collection<Student> values=students、values();Iterator<Student> it=values、iterator();while(it、hasNext()){if(it、next()、getAge()==age)it、remove();}}Student[] findByName(String name){int a=0;Collection<Student> values=students、values();Iterator<Student> it=values、iterator();while(it、hasNext()){if(it、next()、getName()、equals(name))a++;}int b=0;Student[] s=new Student[a];Collection<Student> values1=students、values();Iterator<Student> it1=values1、iterator();while(it1、hasNext()){Student ss=it1、next();if(ss、getName()、equals(name)){s[b]=ss;b++;}}return s;}Student[] findByAge(int age){int a=0;Collection<Student> values=students、values();Iterator<Student> it=values、iterator();while(it、hasNext()){if(it、next()、getAge()==age)a++;}int b=0;Student[] s=new Student[a];Collection<Student> values1=students、values();Iterator<Student> it1=values1、iterator();while(it1、hasNext()){Student ss=it1、next();if(ss、getAge()==age){s[b]=ss;b++;}}return s;}4)新创建MapExample2包,重新设计设计上述程序(新程序都属于这个包),这时需要使用泛型类,即出现的Map、TreeMap或HashMap都使用泛型。