加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

如何在Scala中展示不同类型的列表?

发布时间:2020-12-16 19:07:11 所属栏目:安全 来源:网络整理
导读:我有4个元素:List [List [Object]](每个元素中的对象不同),我想要压缩,以便我可以有一个List [List [obj1],List [obj2],List [obj3],List [ OBJ4] 我试图压缩它们,我获得了一个嵌套的列表,我不能应用flatten,因为它说:没有隐式参数匹配参数类型. 我该如何
我有4个元素:List [List [Object]](每个元素中的对象不同),我想要压缩,以便我可以有一个List [List [obj1],List [obj2],List [obj3],List [ OBJ4]

我试图压缩它们,我获得了一个嵌套的列表,我不能应用flatten,因为它说:没有隐式参数匹配参数类型.

我该如何解决?我应该尝试另一种方式还是有办法使扁平化的工作?

我对scala有点新鲜,所以这可能是一个愚蠢的问题:D
提前致谢!
clau

解决方法

一个嵌套列表:
扁平会做:

scala> List(List(1),List(2),List(3)).flatten
res4: List[Int] = List(1,2,3)

scala> List(List(List(1)),List(List(2)),List(List(3))).flatten
res5: List[List[Int]] = List(List(1),List(3))

对于多个嵌套列表,您可以:

def flatten(ls: List[Any]): List[Any] = ls flatMap {
  case i: List[_] => flatten(i)
  case e => List(e)
}

val k = List(1,List(2,3),List(List(List(List(4)),List(5)),List(6,7)),8)
flatten(k)

打印列表[Any] =列表(1,3,4,5,6,7,8)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读