请问这样写思路和步骤可以吗?语言表达能力不是很好,一直不怎么会写思路和步骤。
经常代码都写完了,可是思路和步骤还写不出来。
/*
传智播客学校:预热班,就业班
预热班:张三,23
李四,25
就业班:王五,34
赵六,26
思路:
1.创建学校集合,来存储班级名称和班级集合(学生名称,学生年龄)
2.创建班级集合,并赋值
3.定义功能取出所有班级的学生信息,以便提高复用性
步骤:
1.用HashMap集合创建czbk集合,类型为<String,HashMap<String,Integer>>
2.用HashMap集合创建班级集合,类型为<String,Integer>,并对其赋值
3.定义方法getStudentInfo来获取全部班级的学生信息
4.先取得学校集合的键,再获取值,获取到的学校集合中的值就是班级集合的对象
5.再获取班级的键,然后获取值,最后打印
*/
import java.util.*;
class MapDemo3
{
public static void main(String[] args)
{
HashMap<String,HashMap<String,Integer>> czbk=new HashMap<String,HashMap<String,Integer>>();//创建传智播客学校
HashMap<String,Integer> yure=new HashMap<String,Integer>();//创建预热班
HashMap<String,Integer> jiuye=new HashMap<String,Integer>();//创建就业班
czbk.put("yureban",yure);
czbk.put("jiuyeban",jiuye);
yure.put("zhangsan",23);
yure.put("lisi",25);
jiuye.put("wnagwu",34);
jiuye.put("zhaoliu",26);
getStudentInfo(czbk);
}
public static void getStudentInfo (HashMap<String,HashMap<String,Integer>> hm)//取出一个学校所有学生
{
Set<Map.Entry<String,HashMap<String,Integer>>> s=hm.entrySet();//取出学校集合的键值对应关系
for(Iterator<Map.Entry<String,HashMap<String,Integer>>> i=s.iterator();i.hasNext();)//用叠加器遍历学校集合
{
Map.Entry<String,HashMap<String,Integer>> me=i.next();
String roomName=me.getKey();//取得班级的名字
HashMap<String,Integer> banji=hm.get(roomName);//用班级名字取得班级集合
Set<String> nameSet=banji.keySet();//取得班级集合中的键--学生姓名
for(Iterator<String> i1=nameSet.iterator();i1.hasNext();)//用叠加器遍历班级集合
{
String name=i1.next();//取得班级中学生的名字
System.out.println("class:"+roomName+"--name:"+name+"--age:"+banji.get(name));//打印班级名称,学生名字,学生年龄
}
System.out.println("_____________________");
}
}
}
|
|