У меня есть список целых чисел unsorted, и я хочу найти те элементы, у которых есть дубликаты.
val dup = List(1,1,1,2,3,4,5,5,6,100,101,101,102)
Я могу найти отдельные элементы набора с dup.distinct, поэтому я написал свой ответ следующим образом.
val dup = List(1,1,1,2,3,4,5,5,6,100,101,101,102)
val distinct = dup.distinct
val elementsWithCounts = distinct.map( (a:Int) => (a, dup.count( (b:Int) => a == b )) )
val duplicatesRemoved = elementsWithCounts.filter( (pair: Pair[Int,Int]) => { pair._2 <= 1 } )
val withDuplicates = elementsWithCounts.filter( (pair: Pair[Int,Int]) => { pair._2 > 1 } )
Есть ли более простой способ решить эту проблему?