Когда подклассы AbstractCollection
, я все равно должен реализовать size()
, хотя (я считаю) существует разумная правильная (хотя и неисполненная) реализация по умолчанию:
public int size() {
int count = 0;
for (Iterator<E> i = iterator(); i.hasNext();) {
i.next();
count++
}
return count;
}
Почему разработчики не включили реализацию по умолчанию size()
?Они пытались заставить разработчиков сознательно задуматься об этом методе, надеясь заставить разработчика предложить реализацию, которая работает лучше, чем по умолчанию?