Seq
является абстракцией базового типа коллекции. Это создает несколько проблем.
case x :: _ =>
не будет работать, если базовый набор не равен List
, но вы можете изменить его на case x +: _ =>
для более универсального покрытия.
mySeq.size
может быть достаточно эффективным, если базовая коллекция похожа на Vector
, но это линейная операция на List
.
. Я бы рекомендовал использовать mySeq.sizeIs > 0
(Scala 2.13). sizeIs
предназначен для завершения, как только может быть определено сравнение, поэтому даже на List
он должен возвращать true
после прохождения только одного элемента.