怎么遍历HashMap集合中的ArrayList集合对象
创建一个ArrayList对象向对象添加一些学生信息再创建一个HashMap对象,以“一年级一班”为键,存放学员的ArrayList为值然后从HashMap中获取这个班级...
创建一个ArrayList对象 向对象添加一些学生信息
再创建一个HashMap对象,以“一年级一班”为键,存放学员的ArrayList为值
然后从HashMap中获取这个班级的学员信息,并输出。
例如:
请输入班级名称?
一年级一班
一年级一班学员列表如下:
张三 7岁
李四 6岁
王二 6岁 展开
再创建一个HashMap对象,以“一年级一班”为键,存放学员的ArrayList为值
然后从HashMap中获取这个班级的学员信息,并输出。
例如:
请输入班级名称?
一年级一班
一年级一班学员列表如下:
张三 7岁
李四 6岁
王二 6岁 展开
4个回答
展开全部
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
public class Student
{
private String name;
private int age;
public Student(String name,int age){
this.name = name;
this.age = age;
}
public static void main(String[] args)
{
for(Entry<String, List<Student>> e : prepare().entrySet()){
System.out.println(String.format("%s学生列表如下", e.getKey()));
for(Student s : e.getValue()){
System.out.println(String.format("%s %d岁",s.name, s.age));
}
}
}
/**
* 准备一组测试数据
* @return
*/
public static Map<String,List<Student>> prepare(){
final List<Student> studentList1 = new ArrayList<Student>(){
{
this.add(new Student("张三",7));
this.add(new Student("李四",6));
this.add(new Student("王二",5));
}
};
final List<Student> studentList2 = new ArrayList<Student>(){
{
this.add(new Student("赵",10));
this.add(new Student("钱",9));
this.add(new Student("孙",8));
}
};
return new HashMap(){
{
this.put("一年级一班", studentList1);
this.put("一年级二班", studentList2);
}
};
}
}
写个简单的小例子,应该能看明白吧
打印结果
一年级二班学生列表如下
赵 10岁
钱 9岁
孙 8岁
一年级一班学生列表如下
张三 7岁
李四 6岁
王二 5岁
展开全部
你的第一步是get呀 拿到一年级一班对应的value值,然后再对这个value进行遍历
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你是不是搞反了?map存放学员信息,list存放map才对吧?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
class Student{
String name, age;
public Student(String name, String age) {
this.name = name;
this.age=age;
}
}
public class Test {
public static void main(String[] args) {
Map m = new HashMap();
ArrayList l = new ArrayList();
l.add( new Student("张三", "7岁") );
l.add( new Student("李四", "6岁") );
l.add( new Student("王二", "6岁") );
m.put( "一年级一班", l );
l = (ArrayList)m.get("一年级一班");
for(int i=0; i<size(); i++) {
Student s = (Student)l.get(i);
System.out.println( s.name + "\t" + s.age );
}
}
}
没调试过,大致意思
String name, age;
public Student(String name, String age) {
this.name = name;
this.age=age;
}
}
public class Test {
public static void main(String[] args) {
Map m = new HashMap();
ArrayList l = new ArrayList();
l.add( new Student("张三", "7岁") );
l.add( new Student("李四", "6岁") );
l.add( new Student("王二", "6岁") );
m.put( "一年级一班", l );
l = (ArrayList)m.get("一年级一班");
for(int i=0; i<size(); i++) {
Student s = (Student)l.get(i);
System.out.println( s.name + "\t" + s.age );
}
}
}
没调试过,大致意思
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询