Если вы говорите об экземпляре java.util.LinkedList
:
while (!linkedlist.isEmpty()) {
linkedlist.removeFirst();
}
Если вы говорите об экземпляре любого java.util.List
:
while (!list.isEmpty()) {
list.remove(0);
}
с учетом того, что remove
является дополнительной операцией. Однако, в зависимости от реализации списка, это может быть ужасно эффективно. Для ArrayList
это было бы лучше:
while (!list.isEmpty()) {
list.remove(list.size() - 1);
}
Другой альтернативой может быть повторение списка и вызов * Iterator.remove()
для каждого элемента ... также необязательная операция. (Но опять же, это может быть ужасно неэффективно для некоторых реализаций списков.)
Если вы говорите о пользовательском классе связанного списка, то ответ зависит от способа, которым вы объявили внутренние структуры данных классов списков.
Я подозреваю, что если бы интервьюеры упомянули метод clear()
, они ожидали ответа в контексте стандартной структуры сбора Java, а не пользовательского класса связанного списка.