在此程序中,您将学习按照Kotlin中给定属性对自定义对象的数组列表进行排序。
import java.util.* fun main(args: Array<String>) { val list = ArrayList<CustomObject>() list.add(CustomObject("Z")) list.add(CustomObject("A")) list.add(CustomObject("B")) list.add(CustomObject("X")) list.add(CustomObject("Aa")) var sortedList = list.sortedWith(compareBy({ it.customProperty })) for (obj in sortedList) { println(obj.customProperty) } } public class CustomObject(val customProperty: String) { }
运行该程序时,输出为:
A Aa B X Z
在上面的程序中,我们定义了一个带有字符串属性customProperty的CustomObject类。
在main()方法中,我们创建了一个自定义对象的数组列表 list,并使用5个对象进行了初始化。
为了使用属性对列表进行排序,我们使用list的sortedWith()方法。sortedWith()方法采用一个比较器compareBy,该比较器比较customProperty每个对象并将其排序。
然后将排序后的列表存储在变量 sortedList 中。
以下是等效的Java代码:按属性对自定义对象的ArrayList进行排序的Java程序。