怎么遍历HashMap集合中的ArrayList集合对象

创建一个ArrayList对象向对象添加一些学生信息再创建一个HashMap对象,以“一年级一班”为键,存放学员的ArrayList为值然后从HashMap中获取这个班级... 创建一个ArrayList对象 向对象添加一些学生信息

再创建一个HashMap对象,以“一年级一班”为键,存放学员的ArrayList为值

然后从HashMap中获取这个班级的学员信息,并输出。

例如:

请输入班级名称?

一年级一班

一年级一班学员列表如下:

张三 7岁

李四 6岁

王二 6岁
展开
 我来答
秒杀腹黑菟
推荐于2018-04-12 · TA获得超过502个赞
知道小有建树答主
回答量:142
采纳率:100%
帮助的人:70.6万
展开全部
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岁

小小CS玩家
2013-12-05
知道答主
回答量:21
采纳率:0%
帮助的人:10.2万
展开全部
你的第一步是get呀 拿到一年级一班对应的value值,然后再对这个value进行遍历
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yjaspen
2013-12-05 · TA获得超过204个赞
知道小有建树答主
回答量:374
采纳率:0%
帮助的人:187万
展开全部
你是不是搞反了?map存放学员信息,list存放map才对吧?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小狂中E
2013-12-05 · TA获得超过1418个赞
知道大有可为答主
回答量:1514
采纳率:66%
帮助的人:1031万
展开全部
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 );
}
}
}
没调试过,大致意思
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式