我有一段代码:
/**
* You can edit, run, and share this code.
* play.kotlinlang.org
*/
class Person(val firstName: String, val lastName: String, var age: Int, var isEmployed: Boolean, var companyName: String)
{
override fun toString(): String = firstName + " " + lastName + ", age:" +
age + ", isEmployed: " + isEmployed + ", companyName:" + companyName + "\n"
}
fun main() {
var alist = emptyList<Person>()
alist += (Person("Alan", "Walker", 23, true, "Google"))
alist += (Person("Bee", "dog", 24, true, "Google"))
alist += (Person("John", "Cena", 25, true, "Google"))
alist += (Person("See", "S", 26, true, "Stackoverflow"))
alist += (Person("Soya", "A", 27, true, "Stackoverflow"))
alist += (Person("Zander", "Cage", 28, true, "Stackoverflow"))
println(alist)
var uniqueGoogle = alist.filter{ it.companyName.equals("Google") }.first()
var newList = alist.filter{ !it.companyName.equals("Google") }
newList = uniqueGoogle + newList
println(newList)
}
我需要从上面的名单上的人的名单是唯一的公司名称只为谷歌.我真的不擅长使用列表聚合,这里需要一些帮助.
println(newList)的预期输出:
[Alan Walker, age:23, isEmployed: true, companyName:Google
, See S, age:23, isEmployed: true, companyName:Stackoverflow
, Soya A, age:23, isEmployed: true, companyName:Stackoverflow
, Zander Cage, age:23, isEmployed: true, companyName:Stackoverflow
]
因为从谷歌我只想要第一个元素.我的解决方案做到了这一点,但它对我来说似乎不是很有效或很好,它给了我一些错误,不知道为什么……