Вопросы с тегом «scala-collections»

Библиотека коллекций для языка программирования Scala

873
Является ли библиотека коллекций Scala 2.8 «самой длинной запиской о самоубийстве в истории»? [закрыто]

В настоящее время этот вопрос не очень подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, вызовет дебаты, споры, опрос или расширенное обсуждение. Если вы считаете, что этот вопрос можно улучшить и,...

225
Scala 2.8 breakOut

В Scala 2.8 есть объект в scala.collection.package.scala: def breakOut[From, T, To](implicit b : CanBuildFrom[Nothing, T, To]) = new CanBuildFrom[From, T, To] { def apply(from: From) = b.apply() ; def apply() = b.apply() } Мне сказали, что это приводит к: > import scala.collection.breakOut >...

200
Когда я должен выбрать Vector в Scala?

Похоже, что Vectorопоздал на вечеринку коллекций Scala, и все влиятельные посты в блоге уже ушли. В Java ArrayListэто коллекция по умолчанию - я мог бы использовать, LinkedListно только когда я продумал алгоритм и достаточно осторожен, чтобы оптимизировать. В Scala я должен использовать Vectorпо...

165
Scala лучший способ превратить коллекцию в карту под ключ?

Если у меня есть коллекция cтипа Tи есть свойство pна T(типа P, скажем), что это лучший способ , чтобы сделать карту-на-экстрагента-ключ ? val c: Collection[T] val m: Map[P, T] Одним из способов является следующее: m = new HashMap[P, T] c foreach { t => m add (t.getP, t) } Но сейчас мне нужна...

147
Разница между массивом и списком в scala

В каких случаях следует использовать Array (Buffer) и List (Buffer). Единственное отличие, которое я знаю, заключается в том, что массивы невариантны, а списки ковариантны. А как насчет производительности и некоторых других характеристик?...

136
Поток против просмотров против итераторов

Каковы различия между потоками, представлениями (SeqView) и итераторами в Scala? Это мое понимание Они все ленивые списки. Потоки кэшируют значения. Итераторы можно использовать только один раз? Вы не можете вернуться к началу и снова оценить значение? Значения представления не кэшируются, но вы...

112
Как читать файлы из папки ресурсов в Scala?

У меня есть структура папок, как показано ниже: - main -- java -- resources -- scalaresources --- commandFiles и в этих папках у меня есть файлы, которые я должен прочитать. Вот код: def readData(runtype: String, snmphost: String, comstring: String, specificType: String): Unit = { val realOrInvFile...

97
Элегантный способ инвертировать карту в Scala

Изучая Scala в настоящее время, необходимо инвертировать карту, чтобы выполнить поиск по инвертированному значению-> ключу. Я искал простой способ сделать это, но нашел только: (Map() ++ origMap.map(kvp=>(kvp._2->kvp._1))) У кого-нибудь есть более элегантный подход?...

96
Как правильно получить подмассив в Scala?

Я пытаюсь получить подмассив в scala, и я немного не понимаю, как это сделать правильно. Больше всего мне хотелось бы, чтобы это было похоже на то, как это можно сделать в python: x = [3, 2, 1] x[0:2] но я совершенно уверен, что вы не можете этого сделать. Наиболее очевидный способ сделать это -...

94
Почему неизменяемый набор Scala не ковариантен по своему типу?

РЕДАКТИРОВАТЬ : переписал этот вопрос на основе исходного ответа scala.collection.immutable.SetКласс не ковариантен в параметре типа. Почему это? import scala.collection.immutable._ def foo(s: Set[CharSequence]): Unit = { println(s) } def bar(): Unit = { val s: Set[String] = Set("Hello", "World");...

88
Преобразование коллекции Java в коллекцию Scala

Связанный с вопросом о переполнении стека. Scala-эквивалент нового HashSet (Collection) , как мне преобразовать коллекцию Java ( java.util.Listскажем) в коллекцию Scala List? На самом деле я пытаюсь преобразовать вызов Java API в Spring SimpleJdbcTemplate , который возвращает a...

87
Что означает param: _ * в Scala?

Поскольку я новичок в Scala (2.9.1), у меня есть List[Event]и я хотел бы скопировать его в Queue[Event], но следующий синтаксис Queue[List[Event]]вместо этого дает : val eventQueue = Queue(events) Почему-то работает следующее: val eventQueue = Queue(events : _*) Но хотелось бы понять, что он...

82
withFilter вместо filter

Всегда ли эффективнее использовать withFilter вместо filter при последующем применении таких функций, как карта, плоская карта и т. Д.? Почему поддерживаются только map, flatmap и foreach? (Ожидаемые функции типа forall / также существуют)...

38
Почему в Scala архивируется быстрее, чем zip?

Я написал некоторый код Scala для поэтапной операции над коллекцией. Здесь я определил два метода, которые выполняют одну и ту же задачу. Один метод использует, zipа другой использует zipped. def ES (arr :Array[Double], arr1 :Array[Double]) :Array[Double] = arr.zip(arr1).map(x => x._1 + x._2)...