当前位置:网站首页>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
边栏推荐
- Multiple solutions to one problem, asp Net core application startup initialization n schemes [Part 1]
- Mengxin summary of LIS (longest ascending subsequence) topics
- . Net service governance flow limiting middleware -fireflysoft RateLimit
- fs. Path module
- Codeforces Round #648 (Div. 2) D. Solve The Maze
- Codeworks round 638 (Div. 2) cute new problem solution
- c语言指针深入理解
- 一题多解,ASP.NET Core应用启动初始化的N种方案[上篇]
- Ros- learn basic knowledge of 0 ROS - nodes, running ROS nodes, topics, services, etc
- [code practice] [stereo matching series] Classic ad census: (6) multi step parallax optimization
猜你喜欢

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

The combination of deep learning model and wet experiment is expected to be used for metabolic flux analysis

OpenGL - Model Loading
![Introduction Guide to stereo vision (5): dual camera calibration [no more collection, I charge ~]](/img/68/6bfa390b0bedcdbc4afba2f9bd9c0f.jpg)
Introduction Guide to stereo vision (5): dual camera calibration [no more collection, I charge ~]
![Multiple solutions to one problem, asp Net core application startup initialization n schemes [Part 1]](/img/c4/27ae0d259abc4e61286c1f4d90c06a.png)
Multiple solutions to one problem, asp Net core application startup initialization n schemes [Part 1]
![[code practice] [stereo matching series] Classic ad census: (4) cross domain cost aggregation](/img/d8/7291a5b14160600ba73810e6dd1eb5.jpg)
[code practice] [stereo matching series] Classic ad census: (4) cross domain cost aggregation

Use and programming method of ros-8 parameters

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

My experience from technology to product manager
![[technical school] spatial accuracy of binocular stereo vision system: accurate quantitative analysis](/img/59/823b587566f812c76e0e4dee486674.jpg)
[technical school] spatial accuracy of binocular stereo vision system: accurate quantitative analysis
随机推荐
Applet (subcontracting)
信息与熵,你想知道的都在这里了
Progressive JPEG pictures and related
File server migration scheme of a company
ROS learning 4 custom message
Newton iterative method (solving nonlinear equations)
Wechat H5 official account to get openid climbing account
3D reconstruction open source code summary [keep updated]
Solution to the problem of the 10th Programming Competition (synchronized competition) of Harbin University of technology "Colin Minglun Cup"
C#图像差异对比:图像相减(指针法、高速)
【PyTorch Bug】RuntimeError: Boolean value of Tensor with more than one value is ambiguous
Solution to the problems of the 17th Zhejiang University City College Program Design Competition (synchronized competition)
uni-app 实现全局变量
Causes and appropriate analysis of possible errors in seq2seq code of "hands on learning in depth"
TF coordinate transformation of common components of ros-9 ROS
ROS learning 1- create workspaces and function packs
信息與熵,你想知道的都在這裏了
c#比较两张图像的差异
AUTOSAR from getting started to mastering 100 lectures (103) -dbc file format and creation details
Array, date, string object method