首页 > 解决方案 > Kotlin - 使用 listOf() 创建以列表为参数的新列表

问题描述

我想从一个或多个列表、地图或其他集合创建列表、地图或其他集合。

在 dart 中,您使用以下语法生成一个或多个列表的列表:

List<int> l1 = [1, 2];
List<int> l2 = [3, 4, 5];
List<int> result = [...l1, ...l2];
//result == [1, 2, 3, 4, 5]

在 Kotlin 中,我尝试做同样的事情:

val l1 : List<Int> = listOf(1, 2)
val l2 : List<Int> = listOf(3, 4, 5)
val result: List<Int> = listOf(l1, l2);
//does not compile

...有什么方法可以像dart中的语法一样展开列表?

标签: androidlistkotlin

解决方案


在 kotlin 中,您可以只使用 l1 + l2。

val list1 = listOf(1, 2, 3, 4)
val list2 = listOf(3, 4, 5)
val list3 = list1 + list2 #[1, 2, 3, 4, 3, 4, 5]

此外,plus是另一种方便的操作。


推荐阅读