package namespace;
import java.util.*;
class Student implements Comparable<Student>
{
private String id;
public String name;
public Student(String id,String name)
{
this.id=id;
this.name=name;
}
public String getName()
{
return this.name;
}
public String getId()
{
return this.id;
}
public int hashCode()
{
return this.name.hashCode()+this.id.hashCode();
}
public boolean equals(Object obj)
{
Student student=(Student)obj;
return this.name.equals(student.name) && this.id.equals(student.id);
}
public int compareTo(Student stu)
{
int num=this.id.compareTo(stu.id);
if(num==0)
return this.name.compareTo(stu.name);
return num;
}
public String toString()
{
return id+"..."+name;
}
}
public class ManyMap {
public static void main(String args[])
{
/* 这是一个一对多的映射,就是一个学样对应多个班级,一个班级又对应多个学生
HashMap<String,HashMap<String,String>>nyist=new HashMap<String,HashMap<String,String>>();//定义nyist学校名
HashMap<String,String>jsjx=new HashMap<String,String>();//定义班级名
HashMap<String,String>ysx=new HashMap<String,String>();//定义第二个班级名
nyist.put("jsjx",jsjx);
nyist.put("ysx",ysx);//将班级加到学校里
//下面向班里面加人
jsjx.put("001","boy");
jsjx.put("002","girl");
jsjx.put("003","xiaozhang");
ysx.put("001","xiaoli");
ysx.put("002","hujintao");
ysx.put("003","wenjiabao");
//下面找出jsjs里面的所有的人
HashMap<String,String>classes=nyist.get("jsjx");
Set<Map.Entry<String,String>>entryset=classes.entrySet();
for(Iterator<Map.Entry<String,String>> it=entryset.iterator();it.hasNext();)
{
Map.Entry<String,String> me=it.next();
System.out.println(me.getKey()+"..."+me.getValue());
}
//下面找出nyist 里面所有的人
Set<Map.Entry<String,HashMap<String,String>>>outentry=nyist.entrySet();
for(Iterator<Map.Entry<String,HashMap<String,String>>>it=outentry.iterator();it.hasNext();)
{
Map.Entry<String,HashMap<String,String>> out=it.next();//得到it.next()取得的班级
System.out.println("班级:"+out.getKey());
HashMap<String,String>inner=out.getValue();//得到班级的hashmap
Set<Map.Entry<String,String>>clainner=inner.entrySet();
//System.out.println(clainner);
sop(clainner);
}
}
public static void sop(Set<?>list)
{
for(Iterator<?>it=list.iterator();it.hasNext();)
{
System.out.println(it.next());
}
}*/
//下面不用HashMap<String,String> 来表示学生了,因为在实际开发中,学生要被封装成类,因为定义在Student 类中
HashMap<String,List<Student>>nyist = new HashMap<String,List<Student>>();//定义学校,里面有班级和学生集合的映射,一个班级对应一个学生集合
List<Student>jsjx=new ArrayList<Student>();
List<Student>ysx=new ArrayList<Student>(); //定义两个学生类,也就是两个班级里的人数
nyist.put("jsjx",jsjx);
nyist.put("ysx",ysx);//将两个班级放到学校里面去
jsjx.add(new Student("001","zhangsan"));
jsjx.add(new Student("002","zhaolin"));
ysx.add(new Student("0032","zhau"));
ysx.add(new Student("1230","ahde"));
Set<Map.Entry<String,List<Student>>> entrykey = nyist.entrySet();
for(Iterator<Map.Entry<String,List<Student>>>it=entrykey.iterator();it.hasNext();)
{
Map.Entry<String,List<Student>> item=it.next();
System.out.println("班级:"+item.getKey());
List<Student>stu=item.getValue();
/*for(Iterator<Student>iterator=stu.iterator();it.hasNext();)
{
System.out.println(it.next());
}*/
show(stu);
}
}
public static void show(List<?> list)
{
for(Iterator<?>it=list.iterator();it.hasNext();)
{
System.out.println(it.next());
}
}
}
- 浏览: 622614 次
- 性别:
- 来自: 郑州
-
最新评论
-
AlanKay:
Mart_dai 写道Hi 齐晓威_518,我想问问,在exc ...
java 后台 Excel 文件生成后转化为字节流 -
18335864773:
国内的pageoffice插件也可以生成excel。也可以用流 ...
java 后台 Excel 文件生成后转化为字节流 -
JAVA_CLASSm:
你好,请问这个还有源码吗?我刚开始接触这个,想要源码学习一下. ...
同一账号不能多地登录(限制同一账号同一时刻只能一个用户登录使用,向QQ一样) -
pangjinquan:
...
前台JS获取后台的Json数据, 动态创建table并填充数据--转自一位朋友 -
lvjun106:
这是增加删除列,,,,
JQuery自动为表格增加一列
相关推荐
Map<String, Class> classMap = new HashMap<String, Class>(); classMap.put("results", WeatherBean_Baidu_City.class); classMap.put("index", WeatherBean_Baidu_City_Index.class); classMap.put("weather_data...
Map<Integer, Map<Integer, String>> titles = new HashMap<>(); for (int i = 0; i < cells; i++) { Cell cell = row.getCell(i); if (cell != null) { titles.put(i, Collections.singletonMap(i, cell....
- `public static Map<String, String> commandMap = new HashMap<String, String>();`:创建了一个字符串映射,用来存储菜单项的名称和对应的系统命令。 - `SystemTray tray = SystemTray.getSystemTray();`:通过...
- Java集合框架主要包括`List`、`Set`、`Map`等接口和它们的具体实现类如`ArrayList`、`HashSet`、`HashMap`等。 - `List`接口提供了按特定顺序存储元素的方式,支持重复元素。 - `Set`接口不允许重复元素,通常...