用Java删除?

时间:2014-03-18 12:10:03

标签: java hashtable

我正在制作一个项目,但我遇到了一些问题。 我有一个像这样的飞行课:

public class Flight implements Cloneable { 
   private String idFlight;
   private Horaire hourFlight;
   private String city;
   private static Vector<Flight> flights = new Vector<Flight>();
   private Hashtable<Integer,Task> tasks = new Hashtable<Integer,Task>();
   private Plane thePlane;
   ...

我有一个静态方法&#34; cancelFlight&#34;像这样:

public static void cancelFlight(String idFlight){
    Flight v=getFlight(idFlight);
    Iterator<Task> it = v.tasks.values().iterator();
    while(it.hasNext)
    {
       it.remove();
    }
    int index=flights.indexOf(v);
    flights.remove(index);

但是任务也在另一个类的Hashtable中,工人。

 private Hashtable<Integer,Task> tasks = new Hashtable <Integer,Task>();

那么,我该怎么办?有没有能够删除类实例的方法? 我的另一个解决方案是在类Worker#34; removeFromTask(int idTask)&#34;中创建一个方法。但它太复杂了...... :(

1 个答案:

答案 0 :(得分:-1)

如果在两个类中都引用了tasks属性,那么您不需要在那里执行其他删除操作。但是如果你克隆它(即创建新的地图实例),你也需要删除另一个类中的任务。