Java图形用户界面设计实验报告,Kotlin学习(5),经验总结

集合类的概述就不讲了,主要是Set、Map、List三大集合。

而他们的继承层次和Java几乎一致,但也有些不同:

在这里插入图片描述

这里介绍几个类:

  • MutableIterable

在迭代期间支持删除元素的迭代

  • Collection

只读不可写

  • MutableCollection

支持添加和删除元素的Collection接口,元素有序,还有add、remove等函数

  • List

元素有序,只读不可写

  • MutableList

除了拥有List读数据的函数,还有add、clear、remove等写函数

  • Set

只读不可写

总结

可以看出,有些集合是可写的,有些集合是不可以写的。

比如List分为只读的List和 可读可写的MutableList,Set也一样

而Map虽然没有继承Collection,但是它也分为 只读的 Map,和可读可写的 MutableMap

7.2 创建集合类


Kotlin中分别使用 listOf()setOf()mapOf() 函数来创建不可变的List、Set、Map容器

使用 mutableListOf()mutableSetOf()mutableMapOf()函数来分别创建 MutableList、MutableSet、MutableMap容器。

val list = listOf(1, 2, 3, 4, 5, 6, 7) //创建不可变list

val list1 = mutableListOf(“A”, “B”, “C”) //创建可变list

如果创建没有元素的空List,使用listOf即可,但是这个时候一定要声明参数类型:

//这样声明是会报错的

val emptyList = listOf()

//正确姿势

val emptyList = listOf()

7.3 遍历集合中的元素


List、Set类继承了Iterable接口,里面扩展了forEach函数来迭代遍历元素,Mao接口也扩展了forEach

list.forEach{

println(it)

}

set.forEach{

println(it)

}

map.forEach{

println(“key = ${it.key}, value = ${it.value}”)

}

另外,如果我们想在遍历元素的时候访问index下标,在List和Set中可以使用 forEachIndexed()

list.forEachIndexed { index, value -> println("list index = ${index}, value = ${value} ")

set.forEachIndexed{ index, value -> println(“set index = ${index} , value = ${value}”)}

}

7.4 映射函数


使用map函数,可以把集合中的元素依次使用给特定的转换函数进行映射操作,元素映射之后的新值会存入一个新的集合中,并返回这个新集合。

在这里插入图片描述

在List、Set继承的Iterable接口和Map接口中,都提供了这个map函数。示例如下:

val list = listOf(1, 2, 3, 4, 5, 6, 7)

val set = setOf(1, 2, 3, 4, 5, 6, 7)

val map = mapOf(1 to “a”, 2 to “b”, 3 to “c”)

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip204888 (备注Android)
img

最后

为了方便有学习需要的朋友,我把资料都整理成了视频教程(实际上比预期多花了不少精力)

当程序员容易,当一个优秀的程序员是需要不断学习的,从初级程序员到高级程序员,从初级架构师到资深架构师,或者走向管理,从技术经理到技术总监,每个阶段都需要掌握不同的能力。早早确定自己的职业方向,才能在工作和能力提升中甩开同龄人。

  • 无论你现在水平怎么样一定要 持续学习 没有鸡汤,别人看起来的毫不费力,其实费了很大力,这四个字就是我的建议!!
  • 我希望每一个努力生活的IT工程师,都会得到自己想要的,因为我们很辛苦,我们应得的。

当程序员容易,当一个优秀的程序员是需要不断学习的,从初级程序员到高级程序员,从初级架构师到资深架构师,或者走向管理,从技术经理到技术总监,每个阶段都需要掌握不同的能力。早早确定自己的职业方向,才能在工作和能力提升中甩开同龄人。

无论你现在水平怎么样一定要 持续学习 没有鸡汤,别人看起来的毫不费力,其实费了很大力,没有人能随随便便成功。

加油,共勉。

本文已被CODING开源项目:《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》收录

一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

a486d4c3ab8389e65ecb71ac0)

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

  • 9
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值