java集合框架问题!!!
发布网友
发布时间:2022-02-28 14:23
我来回答
共3个回答
热心网友
时间:2022-02-28 15:53
往Map里put时候错了,要求是put(班级名,班级的List),也就是
map.put("三年级一班", studentList);
然后读取你输入的内容,查找map,其实就是get
List<String> list = map.get("三年级一班");
最后,把找到的list内容用循环打印出来就可以了。
另外,创建HashMap的时候应该指定泛型。
热心网友
时间:2022-02-28 17:11
map 里边的key不可以重复,如果重复put相同的key对应不同的值,会覆盖之前的,所以最后只有黄蓉一个人,您可以将map中放置,前提是studentList中已放入学生信息例如
Map<String,Student> map = new HashMap();
for(Student s:sutdentList){
map.put(s.getName,s);
}
这样再便利map就可以出现所有的学生信息了
热心网友
时间:2022-02-28 18:45
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
class Student{
private String name;
private int age;
private String sex;
public Student(String name,int age,String sex) {
this.name = name;
this.age = age;
this.sex = sex;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
public class Test24 {
public static void main(String args[]){
Student student1 = new Student("张三丰", 7, "男");
Student student2 = new Student("杨过", 9, "男");
Student student3 = new Student("黄蓉", 8, "女");
ArrayList<Student> studentsOfOne = new ArrayList<Student>();
studentsOfOne.add(student1);
studentsOfOne.add(student2);
studentsOfOne.add(student3);
Map<String, ArrayList<Student>> map = new HashMap<String,ArrayList<Student>>();
map.put("三年级一班", studentsOfOne);
System.out.println("输入班级名称:");
Scanner input = new Scanner(System.in);
String className = input.next();
ArrayList<Student> outStudents = map.get(className);
System.out.println(className+"学生列表:");
for(int i = 0 ; i < outStudents.size(); i++){
Student temp = outStudents.get(i);
String name = temp.getName();
if(name.length()==3){
System.out.println(temp.getName()+" "+temp.getSex()+" "+temp.getAge());
}else{
System.out.println(temp.getName()+" "+temp.getSex()+" "+temp.getAge());
}
}
input.close();
}
}
结果:
输入班级名称:
三年级一班
三年级一班学生列表:
张三丰 男 7
杨过 男 9
黄蓉 女 8