Предположим, я составляю строку из некоторой линейной структуры данных Char
, например, List
, Array
или Char
.Какова эффективность каждого из них:
- Составьте
Stream[Char]
по порядку и затем сложите их вместе (т. Е. Используя foldLeft
) - Составьте строку с помощью pre в ожидании каждого
Char
по порядку и затем в обратном порядке - Составьте строку по ap в ожидании каждого
Char
в порядке
И естьдругой способ сделать это, который является более эффективным, чем любой из перечисленных выше методов?(Под «эффективным» я подразумеваю сложность времени.)
Меня особенно интересуют ответы, относящиеся к Scala, но также приветствуются ответы, касающиеся других языков JVM.
Я бы хотелхотел бы сделать это настолько функционально, насколько это возможно, то есть без использования даже локальных изменяемых переменных, таких как StringBuffer