Возможно, я лаю по неправильному дереву (снова), но если это обычная практика иметь свойство, набранное как scala.collection.immutable.Set[A]
, то как бы вы создали один из них с учетом scala.Iterable[A]
? Например:Scala Мне нужно преобразовать в Seq при создании коллекции из итерабельного?
class ScalaClass {
private var s: scala.collection.immutable.Set[String]
def init(): Unit = {
val i = new scala.collection.mutable.HashSet[String]
//ADD SOME STUFF TO i
s = scala.collection.immutable.Set(i) //DOESN'T WORK
s = scala.collection.immutable.Set(i toSeq : _ *) //THIS WORKS
}
}
Может кто-нибудь объяснить, почему это необходимо, чтобы создать неизменный набор через Seq
(или, если это не так, то как я это делаю)?
Я сожалею, я не очень понимаю вашу точку зрения. Мой вопрос заключался в том, почему конвертировать из Iterable в неизменяемую коллекцию (кроме как через Seq) было непросто. Очевидно, вы предоставили мне коллекцию только для чтения; не неизменный –
Да, это только для чтения ... Разве это не синоним неизменяемости? Может быть, не всегда ... но в этом случае? Вы знаете способ изменить эту коллекцию? Это единственный интерфейс для него, и он доступен только для чтения. Нет, это никогда не изменится. –