当前位置:网站首页>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"] = 5however , 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
边栏推荐
- Svgo v3.9.0+
- Return of missing persons
- 迁移学习和域自适应
- Uni app implements global variables
- Codeforces round 684 (Div. 2) e - green shopping (line segment tree)
- Solution to the problem of the 10th Programming Competition (synchronized competition) of Harbin University of technology "Colin Minglun Cup"
- notepad++
- notepad++
- 【阅读笔记】图对比学习 GNN+CL
- C#绘制带控制点的Bezier曲线,用于点阵图像及矢量图形
猜你喜欢

Creation and reference of applet

My experience from technology to product manager

【阅读笔记】图对比学习 GNN+CL

Summary and Reflection on issues related to seq2seq, attention and transformer in hands-on deep learning

22-07-04 西安 尚好房-项目经验总结(01)

嗨 FUN 一夏,与 StarRocks 一起玩转 SQL Planner!

OpenGL - Model Loading

Node collaboration and publishing

Summary of "reversal" problem in challenge Programming Competition

TF coordinate transformation of common components of ros-9 ROS
随机推荐
nodejs_ 01_ fs. readFile
Ros-11 common visualization tools
顶会论文看图对比学习(GNN+CL)研究趋势
2011-11-21 training record personal training (III)
Codeworks round 639 (Div. 2) cute new problem solution
Chris LATTNER, the father of llvm: why should we rebuild AI infrastructure software
Confusion matrix
Characteristic Engineering
Rebuild my 3D world [open source] [serialization-2]
uni-app 实现全局变量
3D reconstruction open source code summary [keep updated]
混淆矩阵(Confusion Matrix)
Applet network data request
利用请求头开发多端应用
【ManageEngine】如何利用好OpManager的报表功能
c语言指针深入理解
C # image difference comparison: image subtraction (pointer method, high speed)
Generate confrontation network
Understanding rotation matrix R from the perspective of base transformation
Confusing basic concepts member variables local variables global variables