Как удалить элемент из массива объектов? - PullRequest
1 голос
/ 20 марта 2020
public class Patient extends Person {
    private String Diagnosis;
    private Appointment[] appointment = new Appointment[2];
    private int numberofAppointment;
    public static int numberOfPatient;

    public void DellappointmentAT(int index) {
        appointment[index].setAvailable(true);
        numberofAppointment--;
    }
}

Класс, который я создал, имеет массив объектов в качестве полей данных, и у меня есть этот метод, который должен удалить элемент из этого массива, я хочу удалить элемент без изменения размера массива.

Ответы [ 2 ]

1 голос
/ 20 марта 2020

Удаление элемента повлияет на размер массива.

Если вам действительно нужен исходный массив, чтобы остаться прежним, есть 2 общих подхода:

  1. Создайте другой массив, чтобы ваш исходный массив не изменяется
  2. Мягкое удаление - создайте флаг удаления внутри объекта. Таким образом, вы можете различить удаленные данные и размер массива остается неизменным
0 голосов
/ 20 марта 2020

Как насчет этого:

public void DellappointmentAT(int index) {
    appointment[index].setAvailable(true);
    numberofAppointment--;
    for (int i = index; i < numberofAppointment; ++i) {
        appointment[i] = appointment[i+1];
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...