制作网站软件免费,智能网站排名优化,视频广告制作,赞叹天河网站建设公司需求#xff1a;创建一个HashMap集合#xff0c;键是学生对象#xff08;Student#xff09;,值是居住地。存储多个键值对元素#xff0c;并遍历。 要求保证键的唯一性#xff1a;如果学生对象的成员变量值相同#xff0c;我们就认为是同一个对象
思路#xff1a; 定义…需求创建一个HashMap集合键是学生对象Student,值是居住地。存储多个键值对元素并遍历。 要求保证键的唯一性如果学生对象的成员变量值相同我们就认为是同一个对象
思路 定义学生类 创建HashMap集合对象 创建学生对象 把学生添加到集合 遍历集合 在学生类中重写两个方法 hashCode() equals()
代码实现 编写Student类
package com.aynu3;import java.util.Objects;public class Student {private String name;private int age;public Student() {}public Student(String name, int age) {this.name name;this.age age;}public String getName() {return name;}public void setName(String name) {this.name name;}public int getAge() {return age;}public void setAge(int age) {this.age age;}Overridepublic boolean equals(Object o) {if (this o) return true;if (o null || getClass() ! o.getClass()) return false;Student student (Student) o;if (age ! student.age) return false;return Objects.equals(name, student.name);}Overridepublic int hashCode() {int result name ! null ? name.hashCode() : 0;result 31 * result age;return result;}
}package com.aynu3;import java.util.HashMap;
import java.util.Set;public class HashMapDemo {public static void main(String[] args) {//创建HashMap集合对象HashMapStudent,String hmnew HashMapStudent,String();//创建学生对象Student s1new Student(林青霞,30);Student s2new Student(张曼玉,35);Student s3new Student(王祖贤,33);Student s4new Student(王祖贤,33);//把学生添加到集合hm.put(s1,西安);hm.put(s2,武汉);hm.put(s3,洛阳);hm.put(s4,北京);//遍历集合SetStudent keySet hm.keySet();for (Student key:keySet) {String value hm.get(key);System.out.println(key.getName() , key.getAge(),value);}}
}运行结果 王祖贤,33,北京 张曼玉,35,武汉 林青霞,30,西安