一、需求:创建一个HashMap集合,键是学号(String),值是学生对象(Student),存储三个键值对元素,并遍历
分析:
1.定义学生类
2.创建HashMap集合对象
3.创建学生对象
4把学生添加到集合中
5.遍历集合
public class StudentDemo {
public static void main(String[] args) {
//创建Map集合对象
Map<String,Student> m=new HashMap<String,Student>();
//添加键值对
m.put(\"01\",new Student(\"张三\"));
m.put(\"04\",new Student(\"赵六\"));
m.put(\"02\",new Student(\"李四\"));
m.put(\"03\",new Student(\"王五\"));
//遍历集合
Set<Map.Entry<String,Student>> s= m.entrySet();
//遍历
for (Map.Entry<String,Student> ss:s){
//根据键值对对象获取值和key
String key=ss.getKey();
Student value=ss.getValue();
System.out.println(key+\",\"+value.getName());
}
System.out.println(\"------------------------\");
//方式二,通过键找值
Set<String> m1=m.keySet();
for (String key :m1){
Student student =m.get(key);
System.out.println(key+\",\"+student.getName());
}
}
}
二、需求:创建一个HashMap集合,键是学生对象(Student),值是地址(String),存储三个键值对元素,并遍历分析:
1.定义学生类
2.创建HashMap集合对象
3.创建学生对象,并把学生对象当作键值添加到集合
4把地址字符串添加到集合中
5.为了保证数据的唯一性,需要在学生类中重写hashCode及equals方法
6.遍历集合
public class StudentDemo {
public static void main(String[] args) {
//创建集合对象
Map<Student,String> m=new HashMap<Student,String>();
//添加键值对
m.put(new Student(\"张三\",18),\"上海\");
m.put(new Student(\"李四\",19),\"北京\");
m.put(new Student(\"王五\",20),\"上海\");
m.put(new Student(\"王五\",20),\"海南\");
//方式一
//获取所有键值对的集合
Set<Map.Entry<Student,String>> s=m.entrySet();
//方式一、遍历
for (Map.Entry<Student,String> mm:s){
//通过键值对获取对应的值与键
Student key=mm.getKey();
String value=mm.getValue();
System.out.println(key.getName()+\",\"+key.getAge()+value);
}
System.out.println(\"---------------------------------\");
//方式二
Set<Student> key=m.keySet();
for (Student s1:key){
String value=m.get(s1);
System.out.println(s1.getName()+\",\"+s1.getAge()+\",\"+value);
}
}
}
来源:https://www.cnblogs.com/CYan521/p/16078723.html
本站部分图文来源于网络,如有侵权请联系删除。