1. 程式人生 > >Kotlin對list進行排序的一種方法

Kotlin對list進行排序的一種方法

今天看了java排序的方法,自己用kotlin寫了一個小的list的排序,程式碼如下。

1.首先定義一個內部類,用於比較list中兩個數的大小

inner class User : Comparable<User> {
    var name: String? = null
    var order: Int? = null
    override fun compareTo(other: User): Int {
        return this.order!!.compareTo(other.order!!)
    }
}

2.對list進行排序

val list = ArrayList<User>()
private fun dataOrder() {

    val user1:User? = User()
    val user2:User? = User()
    val user3:User? = User()
    user1?.name = "a"
    user1?.order = 3

    user2?.name = "b"
    user2?.order = 2

    user3?.name = "c"
    user3?.order = 5

    //此處add user2再add user1
    user1?.let { list.add(it) }
    user2?.let { list.add(it) }
    user3?.let { list.add(it) }
    Collections.sort(list)
    for (u in list) {
        Log.e("sds","paixusuanfa>>>>>>" + u.name)
    }
}