Kotlin_高度な機能

Kotlin


Kotlinは、javaに基づいてリストの操作のための高度な機能を

1.フィルター

最初に見つけるために見つける
すべてフィルタリングするfiter
フィルタリストの最初の2枚、ムーにフィルタとしてfilterToを

fun main(args: Array<String>) {
    var list1 = listOf<String>("张三","里斯","张思")
    var list2 = listOf<String>("账务","张武")

    var list3 = list1.find { it
        it.startsWith("张")
    }
    println(list3)

    var list4 = list1.filter{it
        it.startsWith("张")
    }
    println(list4)

    var mu = mutableListOf<String>()
    list1.filterTo(mu,{it
        it.startsWith("张")
    })
    list2.filterTo(mu,{it
        it.startsWith("张")
    })
    println(mu)

    //index为偶数的
    val list5 = list1.filterIndexed{index:Int,s:String->
        index%2==0
    }
    println(list5)
}

結果

[張、張のSi]
[ジョー・スミス、張のSi、チャンウー]
[ジョー・スミス、張のSi]

2.ソート

ASCIIソートによると
、カスタムに応じてソートすることができます

fun main(args: Array<String>) {
    var list = listOf<String>("a","b","c")
    println(list.sorted())

    println(list.sortedDescending())

    var list1 = listOf(person1("林",11), person1("王",15), person1("陈",13))
    var list2 = list1.sortedBy { it.age }
    println(list2)
    var list3 = list1.sortedByDescending { it.age }
    println(list3)
}
data class person1(var name:String,var age:Int)

結果
[A、B、C]
[C、B、A]
[PERSON1(名=林、年齢= 11)、PERSON1(名= チェン、年齢= 13)、PERSON1(名= 王、年齢= 15)]
[ PERSON1(名=王、年齢= 15)、PERSON1(名= チェン、年齢= 13)、PERSON1(名= 林、年齢= 11)]

3.パケット

fun main(args: Array<String>) {
    var list = listOf<String>("王五","张三","张思","李四")
    var map = list.groupBy { it
        var fist = it.substring(0,1)
        when(fist){
            "张"->"张"
            "李"->"李"
            else->"其他"
        }
    }
    println(map)
}

結果
{=その他[ワング・ウ]張= [張、張のSi]のLi = [ジョン・ドウ]}

4.極値

あなたはカスタマイズすることができます
あなたもASCIIを拾うことができます

fun main(args: Array<String>) {
    val list = listOf<String>("a","b","z")
    println(list.max())
    println(list.min())

    var list1 = listOf(person("林",11), person("王",15), person("陈",13))
    var list2 = list1.maxBy { it.age }
    var list3 = list1.sortedBy { it.age }
    println(list3)
    println(list2)
}
data class person(var name:String,var age:Int)

结果
z
a
[person(name=林, age=11), person(name=陈, age=13), person(name=王, age=15)]
person(name=王, age=15)

5.重複排除

第一の方法は、集合である
第2の方法は区別される
第三のは同性の取られ

fun main(args: Array<String>) {
    var list = listOf<String>("张三","张三","里斯","张思")
    var set = list.toSet()
    println(set)

    println(list.distinct())

    //取同性
    val list2 = list.distinctBy {
        it.substring(0,1)
    }
    println(list2)
}

結果
[張Siがジョー・スミス、リーズ、]
[座席、リース、張のSi]
[座席、リース]

公開された165元の記事 ウォン称賛12 ビュー10000 +

おすすめ

転載: blog.csdn.net/qq_43141726/article/details/104618332