通过Kotlin中的键选择器进行动态分组

时间:2018-11-10 19:28:54

标签: java kotlin

我想将动态keySelector传递给我的groupingBy函数。这可能吗?

   private fun hasNumberOfIdenticalValues(hand: ArrayList<Card>, values: ArrayList<String>, limit: Int) : Boolean {
        var numberOfOccurrences : Map<String, Int> = hashMapOf()

        for(value in values) {
            numberOfOccurrences = hand.groupingBy{it.suit}.eachCount()
        }

        return true
    }

1 个答案:

答案 0 :(得分:0)

您可以,您只需要返回将对交互进行分类的字符串。例如,按西装颜色分开卡片:

fun Card.color(): String {     
    return if(listof("diamonds","hearts").contains(this.suit)) 
        "red" 
    else 
        "black" 
}

for(value in values) {
    numberOfOccurrences = hand.groupingBy{it.color()}.eachCount()
}