首先我们建立一个类,命名为Cat;
并建立受保护的变量name和age;
通过编译器快速打出set,get方法和tostring方法;
并且创造有参和无参构造方法;(无参也可以不创造)
在主函数里:建立对象set,使用自定义类型;
Set<Cat> set=new HashSet<>();
之后用set.add();方法建立集合放入数据;
为了避免相同的数据输入,我们应该在Cat类重写equals()和HashCode()方法;
package start;
import java.util.HashSet;
import java.util.Objects;
import java.util.Set;
class Cat {
private String name;
private int 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;
}
@Override
public String toString() {
return "Cat [name=" + name + ", age=" + age + "]";
}
@Override
public int hashCode() {
return Objects.hash(age, name);
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Cat other = (Cat) obj;
return age == other.age && Objects.equals(name, other.name);
}
public Cat(String name, int age) {
super();
this.name = name;
this.age = age;
}
}
public class set子接口 {
public static void main(String[] args) {
Set<Cat> set=new HashSet<>();
set.add(new Cat("小白",56));
set.add(new Cat("花湖",28));
set.add(new Cat("小白",56));
System.out.println(set);
}
}