当前位置:网站首页>Kotlin introductory notes (VIII) collection and traversal

Kotlin introductory notes (VIII) collection and traversal

2022-07-05 09:14:00 Meng Meng Mu Xi

Preface : This tutorial is best done with JAVA Study on the basis of

One 、List aggregate

ListOf()

Press Java Of List How to write it ,Kotlin should :

val list = ArrayList<String>()
list.add("Apple")
list.add("Banana")
list.add("Orange")
list.add("Pear")
list.add("Grape")

however Kotlin Specially built-in listOf() Function to simplify the writing of the initialization set :

val list = listOf("Apple","Banana","Orange","Pear","Grape")

It can be used for-in loop Traversal .


fun main() {
    val list = listOf("Apple","Banana","Orange","Pear","Grape")
    for (fruit in list) {
        println(fruit)
    }
}

But here's the thing ,listOf() Function creates an immutable collection .( Unable to add collection 、 Modify or delete operations

mutableListOf()

This design and val keyword Class is not inheritable   The original intention of the design is similar ,Kotlin In terms of immutability, the control is extremely strict . If you create a variable set , have access to mutableListOf() Function is OK , Examples are as follows :

fun main() {
    val list = mutableListOf("Apple","Banana","Orange","Pear","Grape")
    list.add("Watermenol")
    for (fruit in list) {
        println(fruit)
    }
}

  So let's use this mutableListOf() Function to create a mutable collection , Then a new fruit is added to the collection , Final use for-in loop The collection is traversed .

(2) Set aggregate

setOf()

val set = setOf("Apple","Banana","Orange","Pear","Grape")
for (fruit in set) {
    println(fruit)
}

mutableSetOf()

        Set Of  setOf() and mutableSetOf()  And  List A collection of  listOf() and mutableListOf() The general usage is the same , But tell me more .

It should be noted that , Set The bottom layer is to use hash Mapping mechanism to store data , Therefore, the elements in the collection cannot be guaranteed to be orderly , This is the List The biggest difference .

Map aggregate

Map It's a kind of “ Key value pair ” Data structure in form , Therefore, the usage is similar to List、Set Sets differ greatly .

according to Java Writing :

val map = HashMap<String , Int>()
map.put("Apple",1)
map.put("Banana",2)
map.put("Orange",3)
map.put("Pear",4)
map.put("Grape",5)

But in Kotlin It is more recommended to use a syntax structure similar to array subscript ,

For example Map You can add a piece of data in :

map["Apple"] = 1

Read  Map The structure in can be written like this :

val num = map["Apple"]

therefore , The above code can be written as :

val map = HashMap<String , Int>()
map["Apple"] = 1
map["Banana"] = 2
map["Orange"] = 3
map["Pear"] = 4
map["Grape"] = 5

however , according to Kotlin The usual style . . . . you 're right , It provides a pair of mapOf() And mutableMapOf() Function to continue simplification Map Usage of . stay mapOf() in , We can directly pass in the initialized key value pair combination to complete the pair Map Set creation :

val map = mapOf ("Apple" to 1 , "Banana" to 2 , "Orange" to 3 , "Pear" to 4 , "Grape" to 5)

The key value pair combination here looks like to This keyword is used for association , But in fact to It's not a keyword , It is a infix function ( Put this temporarily , Will be discussed later )

fun main() {
    val map = mapOf("Apple" to 1 , "Banana" to 2 , "Orange" to 3 , "Pear" to 4 , "Grape" to 5)
    for((fruit , number) in map) {
        println("fruit is " + fruit + ", number is " + number)
    }
}

If you like this series , You might as well pay attention ! Thank you for watching !

Reference resources :

        《 First line of code Android ( The third edition )》   --- Guo Lin

原网站

版权声明
本文为[Meng Meng Mu Xi]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/02/202202140538292385.html