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

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

18
Является ли библиотека коллекций Scala 2.8 «самой длинной запиской о самоубийстве в истории»? [закрыто]
В настоящее время этот вопрос не очень подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, вызовет дебаты, споры, опрос или расширенное обсуждение. Если вы считаете, что этот вопрос можно улучшить и, возможно, вновь открыть, обратитесь за …

4
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 > val map : Map[Int,String] = List("London", "Paris").map(x …

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



13
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) } Но …

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

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

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


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

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

3
Почему неизменяемый набор 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"); foo(s); //DOES NOT COMPILE, regardless of whether type is declared //explicitly in …

10
Преобразование коллекции Java в коллекцию Scala
Связанный с вопросом о переполнении стека. Scala-эквивалент нового HashSet (Collection) , как мне преобразовать коллекцию Java ( java.util.Listскажем) в коллекцию Scala List? На самом деле я пытаюсь преобразовать вызов Java API в Spring SimpleJdbcTemplate , который возвращает a java.util.List<T>, в неизменяемый Scala HashSet. Так например: val l: java.util.List[String] = javaApi.query( …

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.