首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【Kotlin】集合操作 ② ( MutableList 可变列表集合 | 修改 MutableList 集合的 mutator 函数 )

文章目录 一、MutableList 可变列表集合 二、修改 MutableList 集合的 mutator 函数 1、添加元素运算符 += 和 删除元素运算符 -= 2、通过 Lambda 表达式筛选要删除的元素...一、MutableList 可变列表集合 ---- 使用 listOf 函数 创建的 List 集合 是 只读列表集合 ; 使用 mutableListOf 函数 创建的 MutableList 集合...// 添加元素 mutableList.add("Jack") // 删除元素 mutableList.remove("Tom") println(mutableList...val mutable: MutableList = list.toMutableList() } 执行结果 : [Jerry, Jack] 二、修改 MutableList..." 其效果等同于 mutableList.add("Jack") 从 MutableList 集合 中删除一些元素 , 可使用 -= 运算符 : mutableList -= "Tom" 其效果等同于

66630
您找到你想要的搜索结果了吗?
是的
没有找到

【Kotlin】集合操作总结 ( List 集合 | MutableList 集合 | List 集合遍历 | Set 集合 | MutableSet 集合 | Map 集合 | 可变 Map集合 )

("Jack") // 删除元素 mutableList.remove("Tom") println(mutableList) // 将 可变列表集合 转为 只读列表集合...删除元素运算符 -= ; 向 MutableList 集合 中添加一些元素 , 可使用 += 运算符 : mutableList += "Jack" 其效果等同于 mutableList.add("Jack...") 从 MutableList 集合 中删除一些元素 , 可使用 -= 运算符 : mutableList -= "Tom" 其效果等同于 mutableList.remove("Tom") 2、通过...3) var shortArray = shortArrayOf(0, 1, 2, 3) } 十二、Map 集合 ---- 调用 mapOf 函数 创建 Map 集合 , 键值对 元素有两种初始化方式...: 使用 to 函数进行初始化 : 在参数中使用 键 to 值 的方式进行初始化 ; 使用 Pair 对象进行初始化 : 传入 Pair(键, 值) 进行初始化 ; to 函数原型如下 , 其本质也是返回

4.8K20

Kotlin极简教程(1)数据类型

类型变量num,赋值10 var num : Int = 10 ps:kotlin中不需要分号结尾,声明变量时数据可以省略数据类型 注:用val关键词声明的变量类似于Java中用final修饰了,声明时必须初始化...、MutableMap 1.2、基本操作 //创建一个List容器 var nameList:MutableList = mutableListof("zack",...容器的时候,需要使用关键词to,to前面是键,后面是值 var map:Map = mapOf("name" to "zack") //创建可变容器 var list:MutableList...3.1、基本方法 //定义一个队列 var list:MutableList = mutableListOf(); //添加元素,将元素添加到对尾...{ it.age } //降序排列 sortByDescending{ it.age } //关于it.age //加入有下列队列,泛型为Person(自定义的类) var humanList:MutableList

1K20

Kotlin----数据类型详解

不可变的容器:Set、List、HashMap 可变的容器:MutableSet、MutableList、MutableHashMap B: 通用方法 isEmpty —— 是否为空 isNotEmpty...—— 是否非空 clear —— 清空容器 contains —— 是否包含指定元素 count —— 获取元素个数/ 也可以通过 size 获取 C: 容器初始化 kotlin中的容器可以在定义的时候就执行初始化赋值操作...容器初始化的函数如下: listOf()、mutableListOf() setOf()、mutableSetOf() mapOf()、mutableMapOf() (2)、Set/MutableSet...userSet.forEache{"用户的姓名为${it.name}"} (3)、List/MutableList A: 特点 有序有索引 能够通过set修改元素值,能够通过get获取元素值通过add方法添加元素...这种方式本质上也是采用了for-in, 但遍历的是索引 for(i in userList.indices){ val user=userList[i] ... } C: 排序 MutableList

73020

Kotlin入门(16)容器的遍历方式

初始化赋值 : Kotlin允许在声明容器变量之时进行初始赋值,这点很方便比Java先进,当然不同容器的初始化方法有所区别,具体的对应关系见下表: 只读集合Set    setOf 可变集合    ...只读队列List/可变队列MutableList 队列是一种元素之间按照顺序排列的容器,它与集合的最大区别,便是多了个次序管理。...2、MutableList的add方法每次都是把元素添加到队列末尾,也可指定添加的位置; 3、MutableList的set方法允许替换或者修改指定位置的元素; 4、MutableList的removeAt...其一是采取“键名 to 值对象”的形式,其二是采取Pair配对方式形如“Pair(键名, 值对象)”,下面是这两种初始化方式的代码例子: //to方式初始化映射 var goodsMap = mapOf...to goodsA, "华为" to goodsB, "小米" to goodsC, "欧珀" to goodsD, "步步高" to goodsE, "魅族" to goodsF) //Pair方式初始化映射

2.2K20

拷贝初始化与直接初始化

总结 初始化值的是创建变量时赋予变量一个值(不同于赋值的概念) 使用等号=初始化对象时是拷贝初始化,否则是直接初始化 直接初始化也可能调用拷贝构造函数,拷贝初始化可以不调用拷贝构造函数 初始化概念 对象是类的实例化...创建一个对象分为两步:分配内存空间和初始化,刚刚分配的空间有可能包含脏数据,因此我们需要通过初始化函数(C++中指的是构造函数)对分配的空间进行正确地初始化以保证对象值的合法性。...拷贝初始化与直接初始化 C++由于历史原因包含多种不同的初始化方式,我们可以简单地认为:如果使用等号=初始化变量则执行的是拷贝初始化(编译器将等号右边的对象值拷贝到新创建的对象中去),不使用等号时使用的是直接初始化...string s1 = "tomocat"; // 拷贝初始化 string s2("tomocat"); // 直接初始化 string s3(10, 'c'); // 直接初始化...实战 尽管直接初始化和拷贝初始化的定义如上所示,但是由于直接初始化可能调用拷贝构造函数,拷贝初始化不一定调用拷贝构造函数,我们还是结合一些实例来看一下。

1.4K20

初始化

在编程时,初始化与清理的工作影响着一个程序的安全性,明白初始化的顺序以及其他相关问题可以很有效的避免运行时的对象空指针的问题,以及基本类型数据的值问题 基本数据类型的初始化 1,基本数据类型分别有对应的默认的初始化值...,但如果是方法内部的局部变量,则没有初始化 如图,我在方法内部定义一个int型的变量,在使用时会出现变量没有初始化的错误 2,为基本类型数据指定初始化,成员变量和局部变量均可以,即在定义变量的地方就对变量进行初始化...引用数据类型的初始化 以String为例,观察引用类型的初始化 1,引用数据类型的默认初始化: /** * 打印出对象的默认值 */ private void initObject(){...,那么初始化的顺序在很大程度上可以决定运行时的空指针异常,接下来是分析初始化顺序 因为基本数据类型有默认的初始化值,所以不用考虑在内,主要是引用数据类型的初始化顺序, 有三个类, public class...2,成员变量初始化的顺序为静态成员变量,然后实例成员变量 3,在调用构造器进行初始化时,如果有父类,先初始化父类构造器,从最顶端的父类开始,例如本例中, 在创建ThirdDataClass对象时,先初始化

74020

vector初始化方法_vector初始化大小

2. vector的元素被初始化为与其类型相关的缺省值:算术和指针类型的缺省值是 0,对于class 类型,缺省值可通过调用这类的缺省构造函数获得,我们还可以为每个元素提供一个显式的初始值来完成初始化,...例如 vector ivec( 10, -1 ); 定义了 ivec 它包含十个int型的元素 每个元素都被初始化为-1 对于内置数组 我们可以显式地把数组的元素初始化为一组常量值...,例如 : int ia[ 6 ] = { -2, -1, 0, 1, 2, 1024 }; 我们不能用同样的方法显式地初始化 vector ,但是可以将 vector 初始化为一个已有数组的全部或一部分...,只需指定希望被用来初始化 vector 的数组的开始地址以及数组最末元的下一位置来实现,例如: // 把 ia 的 6 个元素拷贝到 ivec 中 vector ivec...( ia, ia+6 ); 被传递给ivec 的两个指针标记了用来初始化对象的值的范围,第二个指针总是指向要拷贝的末元素的下一位置,标记出来的元素范围也可以是数组的一个子集,例如 : //

1.9K30
领券