java集合框架问题!!!

这是书上要求的效果,下面是我的写的麻烦大家帮我看看是什么问题。。(上班族哈不是学生!!!)... 这是书上要求的效果,下面是我 的写的 麻烦大家帮我看看是什么问题。。(上班族哈 不是学生!!!) 展开
 我来答
Utrecht1984
推荐于2016-08-03 · TA获得超过157个赞
知道答主
回答量:72
采纳率:0%
帮助的人:86.3万
展开全部

往Map里put时候错了,要求是put(班级名,班级的List),也就是

map.put("三年级一班", studentList);

然后读取你输入的内容,查找map,其实就是get

List<String> list = map.get("三年级一班");

最后,把找到的list内容用循环打印出来就可以了。

另外,创建HashMap的时候应该指定泛型。

匿名用户
2015-04-09
展开全部
map 里边的key不可以重复,如果重复put相同的key对应不同的值,会覆盖之前的,所以最后只有黄蓉一个人,您可以将map中放置,前提是studentList中已放入学生信息例如
Map<String,Student> map = new HashMap();
for(Student s:sutdentList){
map.put(s.getName,s);
}
这样再便利map就可以出现所有的学生信息了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
咬你大爷
2015-04-09 · 超过19用户采纳过TA的回答
知道答主
回答量:48
采纳率:0%
帮助的人:31.4万
展开全部
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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式