Kotlin 如何获得“计数”;收集套装";来自具有特定属性的列表

Kotlin 如何获得“计数”;收集套装";来自具有特定属性的列表,kotlin,collections,Kotlin,Collections,我想从具有特定属性的列表中获取集合的计数值 提前谢谢 class User(val age = 0, val group = "school") fun main( val list = listof(User(1, "school"), User(2, "school"), User(3, "company")) fun getCount() { //how to get 2 (the count of set such as ("school", "com

我想从具有特定属性的列表中获取集合的计数值 提前谢谢

class User(val age = 0, val group = "school")

fun main(
    val list = listof(User(1, "school"), User(2, "school"), User(3, "company"))

    fun getCount() {
        //how to get 2 (the count of set such as ("school", "company").size)
    }
}

你可以把名单过滤到那些“学校”组,然后计数,也许

list .filter { p -> group ==  "school"  }

如果我理解你的问题是正确的,你想知道你有多少组(在你的例子2中:“学校”和“公司”

您可以进行分组,例如:

data class User(val age: Int = 0, val group: String = "school")

fun main() {
    val list = listOf(User(1, "school"), User(2, "school"), User(3, "company"), User(16, "banana"))
    println(getCount(list))
    println(getCountOf(list,"banana"))
}

// returns the number of groups
fun getCount(list: List<User>): Int {
    val grouping = list.groupingBy { it.group }.eachCount()
    return grouping.keys.size
}

//returns the size of a given group (0 if group not found)
fun getCountOf(list: List<User>, group: String): Int {
    val grouping = list.groupingBy { it.group }.eachCount()
    return grouping[group] ?: 0
}
数据类用户(val年龄:Int=0,val组:String=“school”)
主要内容(){
val list=listOf(用户(1,“学校”)、用户(2,“学校”)、用户(3,“公司”)、用户(16,“香蕉”))
println(getCount(列表))
println(getCountOf(列表,“香蕉”))
}
//返回组数
fun getCount(list:list):Int{
val grouping=list.groupingBy{it.group}.eachCount()
返回grouping.keys.size
}
//返回给定组的大小(如果找不到组,则为0)
fun getCountOf(列表:列表,组:字符串):Int{
val grouping=list.groupingBy{it.group}.eachCount()
返回分组[组]?:0
}

什么是组和组?它说“未解析引用”组是用户类的属性。您的列表包含用户对象,不是吗?这个lambda(我从中改编)应该给您一个组属性为“school”的用户列表。然后,你数一数列表中的项目数,它应该会给你预期的结果。这是原始代码的一部分,本案例不需要,我之前没有注意到,对不起:(我花了5秒时间将你的问题输入谷歌,我得到了这个->。在询问之前请先进行研究!