Как создать собственный массив с помощью пользовательских методов - PullRequest
0 голосов
/ 21 октября 2019

Мне задали этот вопрос в интервью.

Как создать пользовательский ArrayList со всеми методами, реализованными в ArrayList, кроме метода remove, removeAll()?

Итак, моя реализация ArrayList не должна иметь этих двух методов.

Одно решение, которое я получил, заключалось в расширении моего класса до класса ArrayList и реализации всех методов, кроме remove()и removeAll() метод.

Я не уверен, что это правильный путь.

Ответы [ 2 ]

0 голосов
/ 21 октября 2019

Вы можете расширить ArrayList и переопределить указанные методы, такие как неподдерживаемые методы . Их реализация собирается выбросить UnsupportedOperationException и ничего больше.

class NoRemoveArrayList extends ArrayList {

    @Override
    public Object remove(int i) {
        throw new UnsupportedOperationException();
    }

    @Override
    public boolean remove(Object o) {
        throw new UnsupportedOperationException();
    }

    @Override
    public boolean removeAll(Collection collection) {
        throw new UnsupportedOperationException();
    }

}
0 голосов
/ 21 октября 2019

Поиск растущего массива (структура данных). Вы получите полную информацию и как это сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...