Я пытаюсь понять некоторые основные вещи. Я изучал стандартную библиотеку ArrayList.java, когда обнаружил, что ArrayList имеет реализацию метода isEmpty().Реализация isEmpty()
ArrayList.java:
public boolean isEmpty() {
return size == 0;
}
ArrayList расширяет AbstractList расширяет AbstractCollection. И AbstractCollection имеет реализацию isEmpty:
public boolean isEmpty() {
return size() == 0;
}
Я просто пытаюсь получить логику? Почему ArrayList реализует уже реализованный метод? Зачем?
P.S. ArrayList также имеет размер
public int size() {
return size;
}
Возможно, вырезать ненужный вызов метода. – shmosel
Потому что не каждая коллекция предоставляет локальное поле 'size', и в этом случае это * специальность * (или * оптимизация *). –
Эффективность и самосознание. –