在HashSet上查找类对象

时间:2015-05-21 17:49:06

标签: java

Dogs a = new Dogs("Samy", 5, "Terrier");
Cats b = new Cats("Lucas", 1, "Siames");
Set<Protectora> animales = new HashSet<Protectora>();
animales.add(a);
animales.add(b);

如何仅查找Cats

1 个答案:

答案 0 :(得分:3)

使用instanceof关键字:

Set<Cat> cats = new HashSet<Cat>();
for (Object o : animales) {
   if (o instanceof Cat) cats.add(o);
}

希望你的CatDog类扩展一些父类,比如Animal,在这种情况下你会写:

Set<Animal> animals = new HashSet<Animal>();
animals.add(dog);
animals.add(cat);
//add more animals here
Set<Cat> cats = new HashSet<Cat>();
for (Animal a : animals) {
   if (a instanceof Cat) cats.add((Cat) o);
}