这就是一个存储信息的练习,用到了map集合,关系是:总体->班级->学生
package collection;
import java.util.*;
import java.util.Set;
public class MapDemo {
public static void main(String[] args)
{
MapCeshi md=new MapCeshi();
md.show();
md.get();
md.judge();
md.quchu();
System.out.println("接下来是主里面的函数调用");
demo();
}
public static void demo()
{
//这是一个扩展知识,map集合被使用是因为它具备映射关系
//这个就是映射关系的练习
HashMap<String,List<Student>> StudentYingShe=
new HashMap<String,List<Student>>();
ArrayList<Student> guanxin01=new ArrayList<Student>();
ArrayList<Student> guanxin02=new ArrayList<Student>();
guanxin01.add(new Student("xiaoming",10));
guanxin01.add(new Student("zhanghua",20));
guanxin01.add(new Student("taitai",16));
guanxin01.add(new Student("zhenzidan",20));
guanxin02.add(new Student("wanghuasen",10));
guanxin02.add(new Student("zhaojiecheng",16));
guanxin02.add(new Student("liurui",13));
guanxin02.add(new Student("shenshuang",11));
guanxin02.add(new Student("duanfeifei",10));
guanxin02.add(new Student("dayday",9));
StudentYingShe.put("一班",guanxin01);
StudentYingShe.put("二班",guanxin02);
push(StudentYingShe);
}
//接下来是输出
public static void push(HashMap<String,List<Student>> hm)
{
Set<Map.Entry<String,List<Student>>> info=hm.entrySet();
Iterator<Map.Entry<String,List<Student>>> it=info.iterator();
while(it.hasNext())
{
Map.Entry<String,List<Student>> map=it.next();
String banji=map.getKey();
System.out.println("班级"+banji);
List<Student> xuesheng=map.getValue();
showStudent(xuesheng);
}
}
public static void showStudent(List<Student> ls)
{
Iterator<Student> it=ls.iterator();
while(it.hasNext())
{
Student st=it.next();
System.out.println("学生"+st.getName()+"年龄"+st.getAge());
}
}
}
class MapCeshi
{
HashMap<String,String> hm;
MapCeshi()
{
System.out.println("这里是构造函数");
hm=new HashMap<String,String>();
//添加相同的键的时候原来的值会被覆盖,用put 方法可以返回原来的被覆盖的值
System.out.println(hm.put("01","wanghuasen"));
System.out.println(hm.put("02","wanghuasen"));
System.out.println(hm.put("03","wanghuasen"));
System.out.println(hm.put("01","zhangsan"));
System.out.println(hm.put("03","lisi ".trim()));
System.out.println(hm.put("04","sheag"));
System.out.println(hm.put("05","wpang"));
System.out.println(hm.put("06","wang"));
System.out.println(hm.put("07","gaung "));
}
public void judge()
{
System.out.println("这里是删除一个");
System.out.println(hm.remove("07"));
System.out.println(hm.remove("10"));
}
public void show()
{
System.out.println("这里是展示");
System.out.println("直接输出"+hm.toString());
}
public void get()
{
System.out.println("这里是获取一些");
System.out.println("得到长度"+hm.size());
System.out.println("得到第一个值"+hm.get("01"));
Collection<String> ar=hm.values();
System.out.println("得到all"+ar);
}
public void quchu()
{
//这里是获取map集合的方法
Set<Map.Entry<String,String>> mapCollect= hm.entrySet();
Iterator<Map.Entry<String,String>> it=mapCollect.iterator();
while(it.hasNext())
{
Map.Entry<String,String> info=it.next();
System.out.println("键值对"+info.getKey()+"......"+info.getValue());
}
}
}
能够用于存储和遍历班级集合中的信息。