kotlin的groupBy用法

kotlin的groupBy用法

groupBy 的简单用法

data class NameObj(
    val code: String,
    val name: String,
    val age: Int,
    val child: List<Int>? = null
) {}
fun main(args: Array<String>) {
    val list = mutableListOf<NameObj>()
    list.add(
        NameObj(
            code = "human",
            name = "张三",
            age = 12,
            child = listOf(34, 3402)
        )
    )
    list.add(
        NameObj(
            code = "human",
            name = "李四",
            age = 12,
            child = listOf(34, 340202)
        )
    )
    list.add(
        NameObj(
            code = "divine",
            name = "龙",
            age = 120,
            child = listOf(41, 4127)
        )
    )
    list.add(
        NameObj(
            code = "divine",
            name = "凤",
            age = 122,
            child = listOf(41, 412723)
        )
    )
    list.add(
        NameObj(
            code = "beast",
            name = "猪",
            age = 122
        )
    )

	// 只有一个参数
    val listGroup = list.groupBy { it.code }
    println(listGroup)
    /* 返回值
    {
	    human=[
	    	NameObj(code=human, name=张三, age=12, child=[34, 3402]), 
	    	NameObj(code=human, name=李四, age=12, child=[34, 340202])
	    ], 
	    divine=[
	    	NameObj(code=divine, name=龙, age=120, child=[41, 4127]), 
	    	NameObj(code=divine, name=凤, age=122, child=[41, 412723])
	    ], beast=[
	    	NameObj(code=beast, name=猪, age=122, child=null)
	    ]
    }
    */
	// 两个参数
    val listGroup1 = list.groupBy({it.code } , {it.child})
    println(listGroup1)
    /* 返回值
    {
    	human=[[34, 3402], [34, 340202]], 
    	divine=[[41, 4127], [41, 412723]], 
    	beast=[null]
    }
    */
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值