В Scala, каково время выполнения trimStart и trimEnd для ListBuffer? - PullRequest
3 голосов
/ 18 августа 2011

Предположим, я удаляю только один элемент. Я хотел бы, чтобы эти методы для реализации фиксированного размера ListBuffer. Я бы использовал только если они запускаются в O (1) раз. Документация немного неоднозначна. Кто-нибудь знает детали реализации?

1 Ответ

6 голосов
/ 18 августа 2011

Соответствующей реализацией является там (для ListBuffer) и там (для BufferLike) .

trimStart(n) является линейным по отношению к n (итак, константа, если вы удалите один элемент);trimEnd(n) является линейным по отношению к размеру коллекции.

Кроме того, я не вижу, как вы хотите иметь фиксированный размер ListBuffer, для которого вы изменяете размер с таким trim методы ...

...