【问题标题】:Copy some values from one ArrayList to another kotlin将一些值从一个 ArrayList 复制到另一个 kotlin
【发布时间】:2019-08-29 12:21:50
【问题描述】:

我有清单:

var skillsList: MutableList<ComplexModel> = mutableListOf()

ComplexModel 包含(名称、标题、开始日期、摘要)

我想找到更好的方法来从 skillsList 创建新的 MutableList,但新列表必须从第一个开始只获取名称和标题。目前我正在使用这个解决方案,但我想知道是否有更好的方法来实现这一点。

   val newArray: MutableList<SkillModel> = mutableListOf()

    for (skill in skillsList) {
        newArray.add(SkillModel(name = skill.name, title = skill.title))
    }

【问题讨论】:

  • 可以使用集合的map功能。

标签: java android arrays kotlin


【解决方案1】:
var skills: List<SkillModel> = skillsList.map { SkillModel(it.name,it.title) }

【讨论】:

    【解决方案2】:

    如果我没听错的话,如何使用map {} 在没有 for 循环的情况下实现同样的效果。

    例子:

    data class X(val a: Int, val b: Int, val c: Int)
    data class Y(val a: Int, val b: Int)
    
    val lista = listOf( X(1,2,3), X(2,3,1) )
    val listb = lista.map { Y(it.a, it.b) }
    
    println(listb) // -> gives [Y(a=1, b=2), Y(a=2, b=3)]
    

    【讨论】:

      猜你喜欢
      • 2015-04-04
      • 1970-01-01
      • 2017-12-30
      • 1970-01-01
      • 2018-07-21
      • 1970-01-01
      • 1970-01-01
      • 2012-01-16
      • 2015-05-17
      相关资源
      最近更新 更多