在java中搜索矢量

时间:2013-09-28 05:00:21

标签: java

我创建了一个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()来做,但这不起作用。有没有办法可以搜索向量?

2 个答案:

答案 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()

相关问题