我有:
scala> val alphaList = List("a", "b")
alphaList: List[java.lang.String] = List(a, b)
Run Code Online (Sandbox Code Playgroud)
我想要一个像元组列表:
List((a,1),(b,2))
Run Code Online (Sandbox Code Playgroud)
通常在Java中我会做类似的事情:
List alphaList = new ArrayList<String>()
alphaList.add("a");alphaList.add("b");
List newList = new ArrayList<String>();
for ( int i = 0; ii < alphaList.size(); i++ )
newList.add(alphaList[i] + i);
Run Code Online (Sandbox Code Playgroud)
我想要的是,如何获得一个可以在处理List时使用的递增变量?
alphaList.zipWithIndex.map {
case (k, v) => (k, v + 1)
}
Run Code Online (Sandbox Code Playgroud)
该zipWithIndex替换的本身和它的索引的元组的每个元素(从0开始).本map场比赛的元组,并创建加1的指数新的记录,让你从1开始,而不是0.
作为Axel22答案的替代方案,这很好:
alphaList.zip(Stream.from(1))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2840 次 |
| 最近记录: |