public class SortedListOfImmutables {
// Assume that I already have constructors that create new objects,
// thus have its own items array.
private Listable[] items;
Метод ниже удаляет элемент из списка. Если в списке содержится тот же элемент, к которому относится параметр, он будет удален из списка. Если элемент отображается в списке более одного раза, удаляется только один экземпляр. Если элемент не отображается в списке, то этот метод ничего не делает. @param itemToRemove относится к элементу, который должен быть удален из спискаУдаление объектов из массива объектов
public void remove(Listable itemToRemove) {
Listable[] newList = new Listable[items.length - 1];
int count = 0;
if(items.length == 0){
newList[0] = itemToRemove;
}else {
/*Compares objects. If they are equal, I replace the index of items
* to null. I use int count to make sure that it only makes one object
* null.
*/
for(int i = 0; i < items.length; i++){
while(count == 0){
if(items[i].equals(itemToRemove)){
items[i] = null;
count++;
}
}
}
}
int changeVar = 0;
/* Copy all the objects into my newList array. Wherever items is null,
* skip to the next index of items and put it into newList.
*/
for(int i = 0; i < newList.length; i++){
newList[i] = items[i + changeVar];
if(items[i + changeVar] == null){
changeVar += 1;
newList[i] = items[i + changeVar];
}
}
items = newList;
}
Когда я запускаю это я получаю ошибку тайм-аута. Что я сделал не так, и как я могу это исправить. Примечание: Я не разрешается использовать ArrayList, HashSet или LinkedList,
Почему вам не разрешено использовать ArrayList, HashSet или LinkedList? – Iqbal
Какова ценность items.length? –
@ Tirupati Rao: limits.length может иметь любое значение. @ Iqbal: Мой класс компьютерных наук хочет, чтобы я жестко кодировал его, прежде чем изучать ArrayList, HashSet или LinkedList. –