Я делаю проект, и у меня есть некоторые проблемы. Я получил класс Flight следующим образом:
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;
...
и у меня есть статический метод "cancelFlight", как это:
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 другого класса Worker.
private Hashtable<Integer,Task> tasks = new Hashtable <Integer,Task>();
Так что я могу сделать? Есть ли способ, который может удалить экземпляр класса? Другое решение, которое у меня есть, - это создать метод в классе Worker "removeFromTask (int idTask)", но это так сложно... :(
Если свойство tasks указано в обоих классах, вам не нужно делать дополнительную операцию удаления. Но если вы клонируете его (т.е. Создаете новый экземпляр карты), вам нужно также удалить задачи в другом классе.