当前位置:网站首页>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
边栏推荐
- nodejs_ 01_ fs. readFile
- Progressive JPEG pictures and related
- Huber Loss
- 利用请求头开发多端应用
- Characteristic Engineering
- Mengxin summary of LIS (longest ascending subsequence) topics
- Programming implementation of subscriber node of ROS learning 3 subscriber
- Solution to the problems of the 17th Zhejiang University City College Program Design Competition (synchronized competition)
- Chris LATTNER, the father of llvm: why should we rebuild AI infrastructure software
- ROS learning 4 custom message
猜你喜欢
[code practice] [stereo matching series] Classic ad census: (4) cross domain cost aggregation
My experience from technology to product manager
Nodemon installation and use
Nodejs modularization
Multiple solutions to one problem, asp Net core application startup initialization n schemes [Part 1]
Shutter uses overlay to realize global pop-up
Confusing basic concepts member variables local variables global variables
信息与熵,你想知道的都在这里了
The combination of deep learning model and wet experiment is expected to be used for metabolic flux analysis
【阅读笔记】图对比学习 GNN+CL
随机推荐
[technical school] spatial accuracy of binocular stereo vision system: accurate quantitative analysis
Ros-10 roslaunch summary
np. allclose
Global configuration tabbar
Codeforces round 684 (Div. 2) e - green shopping (line segment tree)
驾驶证体检医院(114---2 挂对应的医院司机体检)
The location search property gets the login user name
Rebuild my 3D world [open source] [serialization-3] [comparison between colmap and openmvg]
OpenGL - Model Loading
Node collaboration and publishing
kubeadm系列-01-preflight究竟有多少check
My life
Programming implementation of subscriber node of ROS learning 3 subscriber
Characteristic Engineering
Talking about label smoothing technology
Huber Loss
【愚公系列】2022年7月 Go教学课程 003-IDE的安装和基本使用
Oracle advanced (III) detailed explanation of data dictionary
C # compare the differences between the two images
Jenkins pipeline method (function) definition and call