У меня есть HashMap:Scala Спарк получить элемент из HashMap
А также есть массив:
я взять элемент из этого массива:
И хотите проверить, присутствует ли оно на карте:
Однако я ошибаюсь. Зачем?
У меня есть HashMap:Scala Спарк получить элемент из HashMap
А также есть массив:
я взять элемент из этого массива:
И хотите проверить, присутствует ли оно на карте:
Однако я ошибаюсь. Зачем?
breeze.linalg.DenseVector является «класс», так что это сравнивается например, равенство:
class C(i: Int)
new C(1) == new C(1) yields false
если вы видите какой-то код сравнивает два экземпляра в Скале, они работают на «тематические классы», потому что у них есть специальный метод equals/hashCode (или они реализуют свой собственный equals/hashCode при работе над «нормальными классами»).
case class CC(i: Int)
new CC(1) == new CC(1) yields true
я думаю, вы должны использовать
<DenseVector instance>.values.deep == <DenseVecotor instance>.values.deep
Array.deep сравнить массив.
Array (1, 2, 3) == Array (1, 2, 3) дает ложные
Array (1, 2, 3) .deep == Array (1, 2, 3) .deep дает истинные
Пример для находить значения в карте [Array [Int], String]:
val m = Map(Array(1, 2) -> "one", Array(1, 2) -> "two")
m.find(_._1 == Array(1, 2)) yields None
m.find(_._1.deep == Array(1, 2).deep) yields Some(...)
предупреждение: 'найти' на карте рассматривать карту в виде последовательного сбора кортежей и проверяет каждый элемент до тех пор, пока не найдет совпадение, вернув «Нет», есть n совпадение. Это будет в основном то же самое, что иметь список (комментарий от @maasg)
Но у HashMap doen нет метода 'map.keys.deep'. Как я могу сравнить это? – Bob
@bob У меня есть пример, чтобы найти значения на карте –
Предупреждение: «найти» на карте рассматривать карту как последовательный набор кортежей и проверять каждый элемент до тех пор, пока он не найдет совпадение, возвращая «Нет», нет совпадение.Это будет в основном то же самое, что и список. – maasg
'DenseVector' - класс для случая? –
'DenseVector' из пакета Spark' breeze.linalg'. – Bob
@Sergey Lagutin Мой код: https: //github.com/timasjov/spark-clustering/blob/master/src/ee/ut/cs/DBSCAN.scala Так что не стесняйтесь протестировать его. – Bob