scala – 组合多个任意长度的列表

我正在寻找一种以下列方式加入多个列表的方法

ListA a b c
ListB 1 2 3 4
ListC + # * § %
..
..
..

Resulting List: a 1 + b 2 # c 3 * 4 § %

在单词中:元素按顺序排列,从第一列开始合并到结果列表中.任意数量的输入列表的长度可能会有所不同.

我使用多种方法与zip,滑动迭代器的变体,但没有工作,特别是照顾不同的列表长度.必须有一个优雅的方式在scala;)

解决方法

val lists = List(ListA,ListB,ListC)

lists.flatMap(_.zipwithIndex).sortBy(_._2).map(_._1)

这是很自明的.它只是在各个列表上对其各个值进行拉链,按索引进行排序,然后将其退出.

相关文章

共收录Twitter的14款开源软件,第1页Twitter的Emoji表情 Tw...
Java和Scala中关于==的区别Java:==比较两个变量本身的值,即...
本篇内容主要讲解“Scala怎么使用”,感兴趣的朋友不妨来看看...
这篇文章主要介绍“Scala是一种什么语言”,在日常操作中,相...
这篇文章主要介绍“Scala Trait怎么使用”,在日常操作中,相...
这篇文章主要介绍“Scala类型检查与模式匹配怎么使用”,在日...