创建一个动物类,具有属性name,age
写一个狗类,继承于动物类,具有特有属性 colour,要求
创建一个HASHSET泛型是动物类型,键盘录入5条狗的对象
其中有2条狗为重复,重复的判断依据就是 名字和颜色相同就是同一条狗
最后输出4条狗的信息。
package com.Work10;
import java.util.Objects;
/**
* @Author: 廾匸
* @Date: 2020/11/23 00:04
* @Description: 动物类
* @version: 1.01
*/
public class Anmila {
private String name;
private int age;
public Anmila(String name, int age) {
this.name = name;
this.age = age;
}
public Anmila() {
}
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 boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Anmila anmila = (Anmila) o;
return Objects.equals(name, anmila.name);
}
@Override
public int hashCode() {
return Objects.hash(name);
}
@Override
public String toString() {
return "Anmila{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
package com.Work10;
import java.util.Objects;
/**
* @Author: 廾匸
* @Date: 2020/11/23 00:06
* @Description: 狗类
* @version: 1.01
*/
public class Dog extends Anmila {
private String color;
public Dog(String name, int age, String color) {
super(name, age);
this.color = color;
}
public Dog(String color) {
this.color = color;
}
public Dog(){}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
if (!super.equals(o)) return false;
Dog dog = (Dog) o;
return Objects.equals(color, dog.color);
}
@Override
public int hashCode() {
return Objects.hash(super.hashCode(), color);
}
@Override
public String toString() {
return "Dog{" + "name=" + super.getName() +
"\t年龄=" + super.getAge() +
"\tcolor=" + color +"}";
}
}
package com.Work10;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
/**
* @Author: 廾匸
* @Date: 2020/11/23 00:07
* @Description:
* @version: 1.01
*/
public class Test {
public static void main (String[] args){
Set<Anmila> set = new HashSet<>();
set.add(new Dog("小花",3,"红色"));
set.add(new Dog("小黑",2,"黑色"));
set.add(new Dog("小白",5,"白色"));
set.add(new Dog("小花",2,"红色"));
set.add(new Dog("小胖",4,"条纹"));
Iterator<Anmila> iterator = set.iterator();
while(iterator.hasNext()){
Anmila next = iterator.next();
System.out.println(next);
}
}
}