hkl曰:研究我们老大的代码,自己就试了试,结果有自己的发现,分享出来免得大家走弯路!
直接上代码,然后在代码里说明问题。
def main(args: Array[String]): Unit = {
第一步;定义两个List,并且有重复的元素4
val list=List(1,2,3,4) val list01=List(4,5,6,7) 第二步:测试各种情况合并的情况。 // val lsit02=(list:::(list01)).distinct //List(1, 2, 3, 4, 5, 6, 7) // val lsit02=list:::(list01) //List(1, 2, 3, 4, 4, 5, 6, 7) // val lsit02=list.:::(list01) //List(4, 5, 6, 7, 1, 2, 3, 4)
val lsit02=list.:::(list01).distinct //List(4, 5, 6, 7, 1, 2, 3)
说明:通过.::: 和::: 这两种不同的合并list的操作符,得到的结果是有区别的。val lsit02=list:::(list01).distinct //List(1, 2, 3, 4, 4, 5, 6, 7)println(lsit02) }
使用.:::合并以后是后面的List元素是放在前面的,而使用:::则是按照前后的顺序进行排列。
*************************************************************************
关于distinct的使用。
val lsit02=list:::(list01).distinct //List(1, 2, 3, 4, 4, 5, 6, 7)这个样子是无法达到去重的效果的。
下面的这个用法是没问题的。是可以达到去重的。这个如果是合并了之后要取合并后的List里的元素的话是要注意新集合里元素的顺序的。
val lsit02=list.:::(list01).distinct //List(4, 5, 6, 7, 1, 2, 3)