【题目1】
编写java程序,创建一个HashMap对象,并在其中添加学生姓名和成绩,键为学生姓名(String类型),值为学生成绩(Integer类型)。使用增强for循环遍历该HashMap,并输出学生成绩,程序输出结果如图1所示:
编码实现:
/**
* @author HackerAC(Written by Mr.XuFufang)
*/
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class Task01 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
Map<String, Integer> students = new HashMap<String, Integer>();
students.put("张三", 85);
students.put("李四", 59);
students.put("王五", 61);
System.out.println("请输入学生姓名:");
String inputName = input.next();
System.out.println(inputName+"的成绩是"+students.get(inputName));
System.out.println("---------所有学生的成绩是---------");
for (Object stu : students.keySet()) {
System.out.println((String)stu+"的成绩是:"+(int)students.get(stu));
}
input.close();
}
}
【题目2】
编写java程序,创建3个ArrayList对象,每个对象中添加一些学员姓名。再创建HashMap对象,以年级名称为键,存放学员的ArrayList为值。然后HashMap对象中获取某个班级的学员信息输出。程序输出结果如图2所示:
编码实现:
/**
* @author HackerAC(Written by Mr.XuFufang)
*/
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Scanner;
public class Task02 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
List<String> stuList1 = new ArrayList<String>();
List<String> stuList2 = new ArrayList<String>();
List<String> stuList3 = new ArrayList<String>();
stuList1.add("张三丰");
stuList1.add("杨过");
stuList1.add("郭靖");
stuList2.add("刘备");
stuList2.add("张飞");
stuList2.add("诸葛亮");
stuList3.add("许嵩");
stuList3.add("马化腾");
stuList3.add("马云");
Map<String, List<String>> grade =new HashMap<String, List<String>>();
grade.put("三年级一班", stuList1);
grade.put("三年级二班", stuList2);
grade.put("四年级一班", stuList3);
System.out.println("请输入班级名称:");
String inputStuClass = input.next();
System.out.println(inputStuClass+"的学生列表:");
for (Object stuName : grade.get(inputStuClass)) {
System.out.println((String)stuName);
}
input.close();
}
}
【题目3】
编写java程序,创建学员类Student,并添加姓名、性别、年龄等字段,创建一个ArrayList<T>对象,指定T为Student类,每个ArrayList<T>中添加一些学员对象。再创建HashMap<K,V>对象,以年级名称为键,指定为String类型,指定value类型为ArrayList<Student>,值为存放学员的ArrayList<T>对象,然后从HashMap<K,V>对象中获取某个班级的学员信息并输出。程序输出结果如图3所示:
编码实现:
Student类:
public class Student {
private String stuName;
private char sex;
private int stuAge;
public Student(String stuName, char sex, int stuAge) {
this.stuName = stuName;
this.stuAge = stuAge;
this.sex = sex;
}
public String getStuName() {
return stuName;
}
public void setStuName(String stuName) {
this.stuName = stuName;
}
public int getStuAge() {
return stuAge;
}
public void setStuAge(int stuAge) {
this.stuAge = stuAge;
}
public char getSex() {
return sex;
}
public void setSex(char sex) {
this.sex = sex;
}
}
实际业务类:
package day08;
/**
* @author HackerAC(Written by Mr.XuFufang)
*/
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Scanner;
public class Task03 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
List<Student> stuList1 = new ArrayList<Student>();
List<Student> stuList2 = new ArrayList<Student>();
List<Student> stuList3 = new ArrayList<Student>();
Map<String, List<Student>> stuGrade = new HashMap<String, List<Student>>();
stuList1.add(new Student("张三丰", '男', 7));
stuList1.add(new Student("杨过", '男', 9));
stuList1.add(new Student("郭靖", '女', 8));
stuList2.add(new Student("刘备", '男', 10));
stuList2.add(new Student("张飞", '男', 8));
stuList2.add(new Student("诸葛亮", '男', 9));
stuList3.add(new Student("许嵩", '男', 11));
stuList3.add(new Student("马化腾", '男', 12));
stuList3.add(new Student("马云", '男', 10));
stuGrade.put("三年级一班", stuList1);
stuGrade.put("三年级二班", stuList2);
stuGrade.put("四年级一班", stuList3);
System.out.println("请输入班级名称:");
String inputStuClass = input.next();
System.out.println(inputStuClass + "的学生列表:");
for (Object stu : stuGrade.get(inputStuClass)) {
System.out.println(((Student) stu).getStuName() + "\t\t" + ((Student) stu).getSex() + "\t\t"
+ ((Student) stu).getStuAge());
}
input.close();
}
}