在java中的矢量实例化

时间:2013-09-28 19:55:54

标签: java vector

我有一个类在我的构造函数中,我实例化一个向量(不同水果的向量)。在那个课程中,我正在编写一个searchVector方法。我想从另一个类searchFruit中调用该方法,但如果我创建了Fruit类的对象,则会初始化一个新的向量。当我调用searchVector方法时,向量为空(当创建新向量时),因此搜索失败。有没有办法可以从searchFruit类调用searchVector方法。

class Fruit{
  Vector v;
  Fruit(){
      v= new vector();
  }
  public Fruit searchVector(String fruit){
     //Searches Fruit
  }

}   

class searchFruit{
   Fruit apple = new Fruit();
   apple.searchVector("Apple");
}

或者,如果我想在searchFruit类中编写搜索函数,我该如何将创建的向量传递给该类。

1 个答案:

答案 0 :(得分:1)

首先,您可能不想使用Vector。你可能想要一个ArrayList。向量使用大量的重度同步,几乎在所有情况下都是不必要的。

至于你的问题,这有点难以回答,因为目前还不清楚你究竟想要完成什么。我建议,在编程时,你会花更多的时间来思考你的问题领域,并了解你想要实现的目标。

例如,您似乎正在编写一个处理水果收集的程序。在这种情况下,您可能需要建模至少两种类型的对象。你的水果和你的水果收集(为简单起见,我们将其称为水果篮)。

Fruit可能至少有一个名称(苹果,橙等)以及其他一些信息(大小,重量,颜色等)。

FruitBasket将有一个List<Fruit>以及一些有用的方法来与您的Fruit集合进行互动,例如添加水果,去除水果和搜索水果(当然,这些方法都是由任何Collection实现的,但这看起来非常像家庭作业,所以我们将轻松过去。

目前,您的设计充分混淆,很难指出任何一件具体的事情,并说“那是你的问题!”将其带回绘图板并尝试根据现实世界对象进行建模。