package com.company.array;
import java.util.HashSet;
import java.util.Iterator;
public class MyHashSet {
public static void main(String[] args) {
HashSet<String> set = new HashSet<>();
set.add("a");
set.add("c");
set.add("b");
set.add("b");
System.out.println(set);
/*
[a, b, c]
*/
Iterator<String> i = set.iterator();
while (i.hasNext()) {
System.out.println(i.next());
}
/*
a
b
c
*/
System.out.println("----");
HashSet<Student> set2 = new HashSet<>();
Student st1 = new Student("James",1);
Student st2 = new Student("James",2);
set2.add(st1);
set2.add(st2);
System.out.println("size:"+set2.size());
Iterator<Student> i2 = set2.iterator();
while (i2.hasNext()) {
System.out.println(i2.next().name);
}
}
}
Student.java
package com.company.array;
public class Student {
String name;
int id;
Student(String name, int id){
this.name = name;
this.id = id;
}
@Override
public int hashCode() {
int hashcode = name==null?0:name.hashCode();
return hashcode;
}
@Override
public boolean equals(Object obj) {
return name.equals(((Student)obj).name);
}
}