从数组[List [String]]列出唯一List [String]的有效方法是什么?

时间:2018-11-08 21:51:30

标签: scala

我想从List[String]中找到唯一的Array[List[String]]

例如, 假设我们有以下Array

List[String]
[a, b, c]
[a, b]
[a, b]
[a, c]

预期结果将是

[a, b, c]
[a, b]
[a, c]

1 个答案:

答案 0 :(得分:1)

是的。您可以在Array(List(String))

中应用 .distinct
  

def分别:Array [List [String]]

     

从该可变索引建立一个新的可变索引序列   没有任何重复元素的序列。

     

返回

     

一个新的可变索引序列,其中包含第一次出现的   该可变索引序列的每个元素。

尝试以下代码段

import org.apache.spark.sql.SparkSession

object StackTest {
  def main(args: Array[String]): Unit = {

    System.setProperty("hadoop.home.dir", "C:\\hadoop")
    val spark = SparkSession
      .builder()
      .config("spark.master", "local[1]")
      .appName("StackOverFlow")
      .getOrCreate()

    spark.sparkContext.setLogLevel("WARN")

    val hc = spark.sqlContext
    import spark.implicits._

    //Define Array[List[String]]
    var myArrList = Array(List("a","b","c"),List("a","b"),List("a","b"),List("a","c"))
    println("ArrayList: "+ myArrList.deep)

    var distinctMyArrList = myArrList.distinct
    println("Distinct ArrayList: "+ distinctMyArrList.deep)

  }
}

输出

ArrayList: Array(List(a, b, c), List(a, b), List(a, b), List(a, c))
Distinct ArrayList: Array(List(a, b, c), List(a, b), List(a, c))