我创建了一个struct / class的向量。它包含类成员firstName lastName和Age。
class Person
{
String firstName;
String lastName;
int Age;
}
class Vote
{
Vector<Person> vec;
public Vote(){
vec = new Vector<Person>();
}
public void addElem(Person p)
{
v.addElement(p);
}
}
我正在尝试通过以下任何一个搜索向量:
firstName,lastName,age.
搜索后,结果应该是该索引处的整个向量元素。我试图用vec.firstName.contains()
来做,但这不起作用。有没有办法可以搜索向量?
答案 0 :(得分:4)
最简单的方法是迭代向量的元素并依次比较每个元素。
public Person searchByFirstName(Vote v, String firstName) {
for (Person p : v.vec) {
if (p.firstName.equals(firstName)) {
return p;
}
}
return null;
}
您可以针对要搜索的每种类型的内容执行相同的操作。显然这个例子是完全匹配的;您可以通过查看String类提供的方法来实现不区分大小写的匹配或前缀匹配。
答案 1 :(得分:0)
创建person
对象并使用:
vec.contains(personObj)
而不是vec.firstName.contains()