Java案例之HashMap集合存储学生对象并遍历
短信预约 -IT技能 免费直播动态提醒
一、需求:创建一个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);
}
}
}
到此这篇关于Java案例之HashMap集合存储学生对象并遍历的文章就介绍到这了,更多相关HashMap存储对象并遍历内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341