如果有帮助,望采纳! 如有任何问题,直接点头像,私信我,看到会及时回答!
一: 首先给你提供解决问题的思路(建议先按照这个思路自己尝试做一遍,不懂再看下面的代码)
题目的意思涉及到的知识点有对象、集合、泛型、IO流、主要是考察你对List集合、Map集合以及IO流的使用。
题目的考察: 如何将对象存放在List集合,如何将对象通过键值对的方式操作Mapjihe,如何接受输入流的内容!
二: 实现结果和代码(可直接复制运行)
public class Student {
/**
* 姓名
*/
private String name;
/**
* 年龄
*/
private Integer age;
/**
* 性别
*/
private String sex;
public String getName() {
return name;
}
public Integer getAge() {
return age;
}
public String getSex() {
return sex;
}
public void setName(String name) {
this.name = name;
}
public void setAge(Integer age) {
this.age = age;
}
public void setSex(String sex) {
this.sex = sex;
}
public Student(String name, Integer age, String sex) {
this.name = name;
this.age = age;
this.sex = sex;
}
@Override
public String toString() {
return name + " "+ age + " " + sex ;
}
public static void main(String[] args) {
// 3个ArrayList
ArrayList<Student> studentListOne = new ArrayList<>();
Student one = new Student("小明",12,"男");
Student two = new Student("小东",22,"女");
// 将学生放入集合
studentListOne.add(one);
studentListOne.add(two);
ArrayList<Student> studentListTwo = new ArrayList<>();
Student three = new Student("仓同学",22,"女");
Student four = new Student("波同学",32,"女");
// 将学生放入集合
studentListTwo.add(three);
studentListTwo.add(four);
ArrayList<Student> studentListThree = new ArrayList<>();
Student five = new Student("小同学",12,"男");
Student six = new Student("大同学",22,"女");
// 将学生放入集合
studentListThree.add(five);
studentListThree.add(six);
// 创建键值对,K是String,value是学生集合类型
HashMap<String, ArrayList<Student>> dataArr = new HashMap<>();
// 添加一些学生
dataArr.put("三年级一班",studentListOne);
dataArr.put("三年级二班",studentListOne);
dataArr.put("三年级三班",studentListOne);
System.out.println("输入班级名称:");
// 等待键盘输入
Scanner scanner = new Scanner(System.in);
String next = scanner.next();
// 从Map中匹配到数据
ArrayList<Student> list = dataArr.get(next);
if(CollectionUtils.isEmpty(list)){
System.out.println(next + "班级没有学生");
} else {
System.out.println(next + "的学生列表:");
for (Student student : list) {
System.out.println(student);
}
}
}
}
创建对象,创建集合。不会的是哪里,没思路吗还是不会写代码。