В чем разница между someCollection.to[Seq]
и someCollection.toSeq
? Одна вещь, которую я заметил, это то, что когда вызывается Map
, .toSeq
обычно возвращает Vector
, а .to[Seq]
обычно возвращает ArrayBuffer
, но я не уверен, что это на самом деле означает.Scala: .to [Seq] vs .toSeq на коллекциях
2
A
ответ
6
Метод коллекции Scala - это более общая функция. В качестве неявного параметра требуется значение типа CanBuildFrom[From, Elem, To]
, которое определяет, как можно построить коллекцию To
с элементами типа Elem
от From
. Обычно, toSeq
, toList
, toMap
, ... прямо вперед к этому методу, как это имеет место, например, для Set
.
Однако некоторые классы предлагают специальную реализацию для определенных методов toXXX
, чтобы быть более эффективными. Это относится к реализации toSeq
класса Map
, который внутренне вызывает toBuffer
. toBuffer
возвращает ArrayBuffer
. В отличие от этого, более общий метод to[Seq]
будет вызываться с неявным значением CanBuildFrom
, которое возвращает коллекцию Vector
, которая является неизменной.
Смежные вопросы
- 1. scala .seq vs .toSeq
- 2. Циркулярная зависимость в коллекциях Scala
- 3. Scala: Option [Seq [String]] vs Seq [Option [String]]?
- 4. Сравнение Scala Seq
- 5. Scala: from Seq to Sequential Futures
- 6. Scala - Свести Seq, содержащий Seq
- 7. toSeq (some_string) Тип Несоответствие
- 8. Java -> Scala, выступления на коллекциях
- 9. Передача Seq [T] как vararg в Scala
- 10. Scala Seq преобразования пары
- 11. Scala Parallel Seq не confroming к послед
- 12. Convert Seq [Option [T]] to Seq [T]
- 13. Scala convert Seq to k, v of sbt.Project.Setting [_]
- 14. Классы классов Scala в коллекциях
- 15. просмотров в коллекциях в scala
- 16. seq to force оценка
- 17. Сравнение двух Seq в Scala
- 18. zipWith (отображение на нескольких Seq) в Scala
- 19. Scala объединить Seq меток времени
- 20. Scala преобразования Seq с будущим
- 21. От seq до _ * в Scala
- 22. Scala Sugar для опций Seq
- 23. JSON массивы и Scala Seq
- 24. Scala: Соответствие шаблону Seq [Nothing]
- 25. scala template function vs forSome
- 26. Clojure seq return function vs direct 'def' of seq
- 27. seq (...) аргумент "length.out" vs. "length"
- 28. Объект Nil в изменчивых коллекциях Scala
- 29. Scala - найти первое положение, в котором два Seq отличаются
- 30. Scala: Как отобразить подмножество seq до более короткого seq
Могу ли я предположить, что если особых причин нет, я должен наклоняться к методам 'toXXX' вместо' to [XXX] '? –
Примеры, где это имеет значение. http://stackoverflow.com/a/28163729/1296806 или '(от 1 до 10) .to [Установить] (3)' –