一、数组的增删改查

1、数组遍历(查)

 val array: Array<String> = Array(5) { (it * 10).toString() }
//        下标for (item in array.indices) {println("下标为==>" + item)}
//        项的内容for (item in array) {println("项为==>" + item)}
//        下标和项for ((item,i) in array.withIndex()) {println("项为==> $item;下标为==>$i")}

另一种写法(推荐):

    val array: Array<String> = Array(5) { (it * 10).toString() }array.forEach {println("项的内容为:$it")}array.forEachIndexed { index, item ->println("下标为:$index;项的内容为:$item")}

A、使用map形式遍历(给数组的值都乘以2)

val num = listOf(1, 2, 3, 4, 5)val collect1 = num.stream().map { n: Int -> n * 2 }.collect(Collectors.toList())println(collect1) //[2, 4, 6, 8, 10]

B、使用filter形式遍历(找出大于2的数)

val num = listOf(1, 2, 3, 4, 5)val collect1 = num.stream().filter() { n: Int -> n > 2 }.collect(Collectors.toList())println(collect1) //[3,4,5]

C、使用anyMatch遍历(找出里面是否有2的值,返回boolean类型)

val num = listOf(1, 2, 3, 4, 5)
val collect1 = num.stream().anyMatch { n: Int -> n == 2 }
println(collect1) // true

D、检测state是否全部是2(返回true或false)

2、数组添加元素(不能add的解决方法)

在数组结尾加一个元素

 var array: Array<String> = Array(5) { (it * 10).toString() }val array1 = array.plus("100")

下面来说说不能add的解决方法:

        var adapterList11: List<Int> = ArrayList() // 此处adapterList11是不能直接使用add方法的val mIntList = mutableListOf<Int>()mIntList.add(1)mIntList.add(2)adapterList11 = mIntList

3、数组删除元素

删除数组第一个元素

 var array: Array<String> = Array(5) { (it * 10).toString() }val arr1=array.drop(1)

删除数组最后一个元素

 var array: Array<String> = Array(5) { (it * 10).toString() }val arr1=array.dropLast(1)

4、数组修改元素

 var array: Array<String> = Array(5) { (it * 10).toString() }array[2]="99"

二、map的增删改查过滤

val hashMap = hashMapOf("Java" to 86, "Kotlin" to 92, "Go" to 78)

1、hasMap增加元素

hashMap.put("uniapp",93)

批量放入多个 key-value 对,putAll(from: Map<out K, V>): Unit

2、hasMap删除元素

hashMap.remove("Go")

删除map里面的所有元素

 hashMap.clear()

3、hasMap修改元素

 hashMap["Java"] = 88

4、hasMap遍历所有元素

for ((key, value) in hashMap) {println("==>$key: $value")}

5、过滤(filter、any、all)

        //1、返回所有value大于90的数据val hashMap1 = hashMap.filter {it.value > 90//"o" in it.key       //key里面包含有字母o}println("hashMap1的值为==>: $hashMap1")//{Kotlin=92}//2、map里面是否有92的数据,返回true或者falseval hashMap2 = hashMap.any {it.value == 92}println("hashMap2的值为==>: $hashMap2")//true//3、 map.all 如果所有的元素都满足给定的条件,则返回 trueval hashMap3 = hashMap.all {it.value < 100 && it.value > 60}println("hashMap3的值为==>: $hashMap3")//true

三、for循环中断

1、return中断循环

 fun test3() {val list = ArrayList<Int>()list.add(1)list.add(2)list.add(3)list.add(4)run outside@{list.forEachIndexed { index, i ->println("-------------$index--------$i")                if (index == 2) { // 2改为5,就可以运行 “结束1” 这行输出代码,不然就会跳到outside标签return@outside}}println("====结束1====")}println("====结束2====")}

运行结果:

如果中断用的是return@test3,这个日志“====结束2====”就不会运行

2、continue中断当前次循环

fun test3() {out@ for (i in 0..2) {outj@ for (j in 0..2) {if (j == 1) continue@outjprintln("j ===》 $j")// 1的时候就不运行}}}

日志

kotlin——数组(增删改查)、haspMap(增删改查过滤)、for中断continue相关推荐

  1. 华山论剑之iOS中(数组,字典,SQLite,CoreData)的“增删改查“

    我们的生活态度就应该是 "不抱怨" ! 其实我想写这篇文章很久了,因为自己做的iOS开发 ,对数据这一块有这极高的要求.所以一些必须的存储数据的使用,我们都有必要熟悉用法.在以前我 ...

  2. SpringBoot增和MongoDB实现增删改查、复合查询

    SpringBoot增和MongoDB实现增删改查.复合查询 依赖 <dependency><groupId>org.springframework.boot</grou ...

  3. 微信小程序js数组初始化_微信小程序 数组(增,删,改,查)等操作实例详解...

    微信小程序 数组(增,删,改,查)等操作 最近在做一个小程序的demo.由于不向后台请求数据,所以就涉及到对本地数据的操作,也遇到了一些坑,本文就以数组的增删改查为例,给新手分享一些经验. 首先这是原 ...

  4. 微信小程序php返回数组,微信小程序 数组(增,删,改,查)等操作实例详解...

    微信小程序 数组(增,删,改,查)等操作 最近在做一个小程序的demo.由于不向后台请求数据,所以就涉及到对本地数据的操作,也遇到了一些坑,本文就以数组的增删改查为例,给新手分享一些经验. 首先这是原 ...

  5. 微信小程序 数组(增,删,改,查)

    微信小程序 数组(增,删,改,查) 最近在做一个小程序的demo里.由于不向后台请求数据,所以就涉及到本地数据的操作,本文以数据的增删改查为例 globalData:{userInfo:null,no ...

  6. JS中对数组元素进行增、删、改、查的方法,以及其他方法

    总结一下 JS中提供的方法可以对数组元素进行增.删.改.查以及其他方法 一.增加元素 1.push() push可接收任意数量的参数,把它们逐个添加至数组末尾,并且可以返回修改后数组的长度. 例子: ...

  7. RxAndroid之操作数据库SqlBrite(RXAndroid实现数据库的增、删、改、查)

    一.查询 1.创建SqlBrite [java] view plaincopy SqlBrite sqlBrite = SqlBrite.create(); 2.将SQLiteOpenHelper的一 ...

  8. Webform--LinQ 增、删、改、查

    一.简单介绍 1.LinQ to Sql类(NET Language Integrated Query (LINQ) ) LINQ定义了大约40个查询操作符,如select.from.in.where ...

  9. webform(八)——LinQ简单增、删、改、查

    一.简单介绍 1.LinQ to Sql类(NET Language Integrated Query (LINQ) ) LINQ定义了大约40个查询操作符,如select.from.in.where ...

  10. 怎么用PHP语句做出增改删查功能,mysql语句实现简单的增、删、改、查操作示例...

    本文实例讲述了mysql语句实现简单的增.删.改.查操作.分享给大家供大家参考,具体如下: 1.创建db_shop数据库,如果该数据库不存在则创建 createdatabaseifnotexistsd ...

最新文章

  1. 阿里云消息队列 2021 新功能新特性重要里程碑
  2. boost::statechart模块实现无效结果分配测试
  3. 利用python制作漂亮的词云图_利用python制作漂亮的词云图
  4. 某些专题页面内容很好,但很长时间都不被及时收录的可能原因之一
  5. 解读最新的 Xamarin 更新
  6. 【HDU - 5017】Ellipsoid(爬山算法,模拟退火,三分)
  7. JavaScript编写了一个计时器
  8. 9月26日发布?一加7T系列被“扒光”:硬核到没朋友
  9. 比尔盖茨:十条“金口玉言”-- 世界不会在意你的自尊
  10. BZOJ3514 / Codechef GERALD07 Chef and Graph Queries LCT、主席树
  11. 传说中的世界500强面试题-智力急转弯
  12. Linux文件帮助_重定向_vi
  13. 恭主驾到:最新的汽车年审新规,都了解了吗?
  14. 读书笔记-别做正常的傻瓜
  15. shardingsphere源码分析(四)-- 改写引擎
  16. 天地图覆盖物的添加,工具类的使用
  17. 阿尔法编程python答案_C语言程序设计-阿尔法编程(编程答案)
  18. 取消华为mate30 删除图片时手机弹出提示:“..检测xx删除了图片..“
  19. Latex CJK,tex使用中文
  20. 【PSTOOLS】PSEXEC 启动远程机器上的程序没有UI显示

热门文章

  1. windows制作proxmox pve U盘镜像
  2. 【Java-zip文件解压】
  3. 神经网络研究现状分析,神经网络研究现状论文
  4. OpenWrt增加package软件包
  5. VS2017安装Newtonsoft.Json插件
  6. win7计算机管理打不开注册表,windows7系统下注册表打不开的解决方法
  7. 使命召唤12服务器系统,《使命召唤12:黑色行动3》PS4版全面开测,服务器质量遭吐槽...
  8. [单片机][cx32][填坑日记] 从AC5到AC6 flash写入功能异常
  9. 【MM系列】SAP 物料进销存报表查看
  10. 入营0双非,北理工自动化实力如何?