Ошибка TypeEr: списочные индексы должны быть целыми или кусочками, а не str, при попытке выполнить одно горячее кодирование с помощью get_dummies

Как следует из документации API scala.collection.mutable.SynchronizedSet , вы можете использовать java.util.concurrent.ConcurrentHashMap[A, Unit].

Если вы хотите, чтобы она выглядела как Set, а не как Map, вы можете использовать java.util.Collections.newSetFromMap, чтобы добавить обертку вокруг Map, чтобы она выглядела как Set:

def createSet[T]() = java.util.Collections.newSetFromMap(
  new java.util.concurrent.ConcurrentHashMap[T, java.lang.Boolean])

Это, однако, вернет Java Set ]. Вы можете обернуть это как scala.collection.mutable.Set:

def createSet[T]() = {
  import scala.collection.JavaConverters._
  java.util.Collections.newSetFromMap(
    new java.util.concurrent.ConcurrentHashMap[T, java.lang.Boolean]).asScala
}

Теперь вы можете создать синхронизированный набор с элементами определенного типа, например Long, например:

val set = createSet[Long]

1
задан David Arriaga 27 March 2019 в 18:14
поделиться