如何使用Kotlin进行特定排序?

如何使用Kotlin进行特定排序?,kotlin,Kotlin,我在Kotlin有一个ArrayList: a = ArrayList<String>() a.add("eat") a.add("animal") a.add("internet") 我想使用Collections.sort(a),但就像我的sort是特定的一样,它不会工作 你有什么想法吗 谢谢大家! 在我的手机上书写,因此语法可能不完全正确,但类似于: a.sortBy { it.toCharArray().count { it == 'e' } } 在我的手机上书写,因此语

我在Kotlin有一个ArrayList:

a = ArrayList<String>()
a.add("eat")
a.add("animal")
a.add("internet")
我想使用Collections.sort(a),但就像我的sort是特定的一样,它不会工作

你有什么想法吗


谢谢大家!

在我的手机上书写,因此语法可能不完全正确,但类似于:

a.sortBy { it.toCharArray().count { it == 'e' } }

在我的手机上书写,因此语法可能不完全正确,但类似于:

a.sortBy { it.toCharArray().count { it == 'e' } }

您也可以这样做,而无需先将每个
字符串
转换为
字符
(如当前接受的答案所示),我不知道您为什么要这样做:

a.sortBy { it.count { it == 'e' } }
另外,您可能需要命名嵌套的
s:

a.sortBy { word -> word.count { character -> character == 'e' } }

您也可以这样做,而无需先将每个
字符串
转换为
字符
(如当前接受的答案所示),我不知道您为什么要这样做:

a.sortBy { it.count { it == 'e' } }
另外,您可能需要命名嵌套的
s:

a.sortBy { word -> word.count { character -> character == 'e' } }

,只是一个提示,与原始问题没有真正的关系,因为它已经得到了回答,但您可能希望保存一些行并使用
arrayOf()
函数创建数组,而不是用“旧的java方式”来做。只是一个提示,与原始问题没有真正的关系,因为它已经得到了回答,但是您可能希望保存一些行并使用
arrayOf()
函数创建数组,而不是使用“旧的java方式”。