怎么判断一个字符串是一个集合中元素的某个属性
第一次发帖,各位哥哥姐姐好!
举个简单的例子:
建一个Dog狗的类,有名字和品种两个属性
然后创建几个狗的对象放到集合ArrayList里面
然后我从键盘输入一个狗的名字“小Q”,那么我如何判断“小Q”是不是集合中某个狗狗的名字?
public class Dog {
private String name;//名
private String strain;//品种
public Dog(){}
public Dog(String name, String strain) {
super();
this.name = name;
this.strain = strain;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getStrain() {
return strain;
}
public void setStrain(String strain) {
this.strain = strain;
}
}
import java.util.ArrayList;
import java.util.Scanner;
public class DogList {
public static void main(String[] args) {
ArrayList list = new ArrayList();
Dog dog1 = new Dog("哮天犬", "神犬");
Dog dog2 = new Dog("小Q", "拉布拉多");
Dog dog3 = new Dog("小七", "神犬");
Dog dog4 = new Dog("宝丽金", "天才狗");
Dog dog5 = new Dog("旺财", "小黑狗");
list.add(dog1);
list.add(dog2);
list.add(dog3);
list.add(dog4);
list.add(dog5);
//判断
Scanner in = new Scanner(System.in);
System.out.print("请输入狗狗名字:");
String name = in.next();
//???????如何判断
if (true) {
System.out.println("集合中存在这条狗,可以做狗肉火锅!");
}else {
System.out.println("对不起,这里没有这条狗,要不来个羊肉火锅?");
}
}
}
------解决思路----------------------
for(Dog d : List){
if(d.getName().equals(your input dog name variable){
return true;
}
}
------解决思路----------------------
// ???????如何判断
int i=0;
for (Dog dog : list) {
if(name.equals(dog.getName())){
System.out.println("集合中存在这条狗,可以做狗肉火锅!");
i++;
}
}
if(i==0){
System.out.println("对不起,这里没有这条狗,要不来个羊肉火锅?");
}