Java中HashSet的使用

来源:互联网 发布:用java编写验证码 编辑:程序博客网 时间:2024/06/05 17:01

实验内容:

   编写Student类, 将多个Student类型的对象放到HashSet中存放,并尝试删除和检验HashSet中是否含有某个对象。

编码实现:

 

package com.abc;import java.util.HashSet;class Student implements Comparable <Student>{static final int TableSize = 10459; //素数;private String Name;private String Id; //长度为10;public Student(String na, String id) {Name = na;Id = id;}public int hashCode() {int hashValue = Integer.parseInt(Id) % TableSize;return hashValue;}public boolean equals(Object obj) {//注意这儿是传入的Object obj 不是Student;Student stu = (Student)obj;if(this == obj)return true;if(stu.hashCode() != this.hashCode())return false;if(this.Id.equals(stu.Id))return true;return false;}public int compareTo(Student stu) {return 1;}public String toString() {return "Id is " + Id + "Name is " + Name;}}public class TestHashSet {public static void main(String []args) {HashSet <Student> StuHS = new HashSet<Student>();Student stu1 = new Student("小明", "1000000001");Student stu2 = new Student("小红", "1000000002");StuHS.add(stu1);StuHS.add(stu2);System.out.println(StuHS);System.out.println(StuHS.remove(new Student("小明", "1000000001")));StuHS.add(stu1);System.out.println(StuHS.remove(stu1));System.out.println(StuHS.contains(new Student("小红", "1000000002")));}}


原创粉丝点击