java - 如何在 Java 中将 Java 集合转换为 Kotlin 序列(反之亦然)?

标签 java collections kotlin sequence

我正在用 Java 实现一个 Kotlin 接口(interface),它希望我返回 Sequence<T> .

如何将 Java 集合转换为 Kotlin Sequence ?相反,我如何转换 Kotlin Sequence到 Java 集合中?

最佳答案

以下是一些转换:

val javaList = java.util.ArrayList<String>()
javaList.addAll(listOf("A", "B", "C"))

// From Java List to Sequence
val seq = sequenceOf(*javaList.toTypedArray())
// or
val seq2 = javaList.asSequence()

// Sequence to Kotlin List
val list = seq.toList()

// Kotlin List to Sequence
val seqFromList = sequenceOf(*list.toTypedArray())
// or
val seqFromList2 = list.asSequence()

// Sequence to Java List
val newJavaList = java.util.ArrayList<String>().apply { seqFromList.toCollection(this) }
// or
val newJavaList2 = java.util.ArrayList<String>()
newJavaList2.addAll(seqFromList)

关于java - 如何在 Java 中将 Java 集合转换为 Kotlin 序列(反之亦然)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51761099/

相关文章:

gradle - Gradle无法找到用于Kotlinx序列化的Bintray存储库

android - 如何使用OnLongClickListener更改ImageView图像以及如何使用Kotlin保存状态

java - 请求位置的运行时权限时

java - 无法 Autowiring 使用来自两个不同类的 @Bean 定义的 bean

java - GWT 更好地在单个服务或多个服务中包含所有方法

java - WeakHashMap 是否有 java.util.concurrent 等价物?

java - Android 抽屉打开只能工作一次

c# - 将集合类型从接口(interface)更改为实现类

java - 在 JDK 1.5 中使用 Collections.newSetFromMap 的替代方案?

android - 传入参数时 Kotlin 类型不匹配