添加重复数据
1 | package com.imooc.test;<br><br> public class Student {<br> private String name;<br> private int stuld;<br> private float score;<br><br> public Student() {<br><br> }<br><br> public Student(String name, int stuld, float score) {<br> this .setName(name);<br> this .setStuld(stuld);<br> this .setScore(score);<br> }<br><br> public String getName() {<br> return name;<br> }<br><br> public void setName(String name) {<br> this .name = name;<br> }<br><br> public int getStuld() {<br> return stuld;<br> }<br><br> public void setStuld( int stuld) {<br> this .stuld = stuld;<br> }<br><br> public float getScore() {<br> return score;<br> }<br><br> public void setScore( float score) {<br> this .score = score;<br> }<br><br> @Override <br> public int hashCode() {<br> final int prime = 31 ;<br> int result = 1 ;<br> result = prime * result + ((name == null ) ? 0 : name.hashCode());<br> result = prime * result + stuld;<br> return result;<br> }<br><br> @Override <br> public boolean equals(Object obj) {<br> if ( this == obj)<br> return true ;<br> if (obj.getClass() == Student. class ) {<br> Student student = (Student) obj;<br> return student.getStuld() == stuld && (student.getName().equals(name));<br> }<br> return false ;<br><br> }<br><br> @Override <br> public String toString() {<br> return "[学号:" + this .getStuld() + ", 姓名:" + this .getName() + ", 成绩:" + this .getScore() + "]" ;<br> }<br><br>}<br> |
1 | package com.imooc.test;<br>问题描述:<br> import java.util.HashSet;<br> import java.util.Iterator;<br> import java.util.Set;<br><br> public class StudentTest {<br><br> public static void main(String[] args) {<br> // TODO 自动生成的方法存根<br> Student student3 = new Student("William", 3, 65.0f);<br> Student student1 = new Student("Tom", 1, 87.0f);<br> Student student2 = new Student("Lucy", 2, 95.0f);<br> Set<Student> set = new HashSet<Student>();<br> set.add(student1);<br> set.add(student2);<br> set.add(student3);<br> Iterator it = set.iterator();<br> while (it.hasNext()) {<br> System.out.println(it.next());<br> }<br> System.out.println("=========================");<br> Student student4 = new Student("Lucy", 3, 954.0f);<br> Student student5 = new Student("William", 3, 65.0f);<br> set.add(student4);<br> set.add(student5);<br> it = set.iterator();<br> while (it.hasNext()) {<br> System.out.println(it.next());<br> }<br> }<br>}<br> |
问题描述:
这个判断是否重复是当学号和姓名都重复时才进行判定重复,单独判断学号或者姓名重复怎么写
22
收起
正在回答
1回答
同学你好,
1、是的,理解是正确的
2、这里只需要对equals()和hashCode()方法进行删减即可,如下举例:判断姓名
祝学习愉快~
java工程师2020版
- 参与学习 人
- 提交作业 9404 份
- 解答问题 16556 个
综合就业常年第一,编程排行常年霸榜,无需脱产即可学习,北上广深月薪过万 无论你是未就业的学生还是想转行的在职人员,不需要基础,只要你有梦想,想高薪
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧