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

Kotlin实战【六】Kotlin中集合的创建

kotlin中的集合 Kotlin中的集合分为两派:可变集合与不可变集合 ?...(1 to "haha", 2 to "lala") //创建一个sortedMap to并不是一个特殊的结果,而是一个普通的函数 kotlin中的集合与Java中集合的关系...接下来让我们看一下创建的对象类型: println(list.javaClass) //class java.util.Arrays$ArrayList println(set.javaClass) /...为什么Kotlin没有自己专门的集合类呢? 答: 因为使用标准的java集合类可以更好的和java交互。kotlin与java互调不用考虑集合类的转换。...尽管如此Kotlin并没有止步,而是在此基础上增加了很多方法,如: 获取列表中的最后一个元素,或者得到一个数字列表的最大值: val strings = listOf("first",

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

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

    一、MutableList 可变列表集合 ---- 使用 listOf 函数 创建的 List 集合 是 只读列表集合 ; 使用 mutableListOf 函数 创建的 MutableList 集合...是 可变列表集合 ; 调用 MutableList#toList 函数 , 可以 将 可变列表集合 转为 只读列表集合 ; 调用 List#toMutableList 函数 , 可以 将 只读列表集合...转为 可变列表集合 ; 代码示例 : fun main() { // 创建可变列表集合 var mutableList = mutableListOf("Tom", "Jerry")...("Jack") 从 MutableList 集合 中删除一些元素 , 可使用 -= 运算符 : mutableList -= "Tom" 其效果等同于 mutableList.remove("Tom"...表达式筛选要删除的元素 : Lambda 表达式返回 boolean 值 , 如果返回 true , 则删除该元素 , 返回 false 则不处理该元素 ; fun main() { // 创建可变列表集合

    96730

    PyTorch入门视频笔记-从数组、列表对象中创建Tensor

    从数组、列表对象创建 Numpy Array 数组和 Python List 列表是 Python 程序中间非常重要的数据载体容器,很多数据都是通过 Python 语言将数据加载至 Array 数组或者...PyTorch 从数组或者列表对象中创建 Tensor 有四种方式: torch.Tensor torch.tensor torch.as_tensor torch.from_numpy >>> import...Tensor,但是 torch.from_numpy 只能将数组转换为 Tensor(为 torch.from_numpy 函数传入列表,程序会报错); 从程序的输出结果可以看出,四种方式最终都将数组或列表转换为...Tensor 的数据类型和默认的全局数据类型一致,为 torch.FloatTensor,而使用 torch.tensor 函数创建的 Tensor 会根据传入的数组和列表中元素的数据类型进行推断,此时...PyTorch 提供了这么多方式从数组和列表中创建 Tensor。

    4.9K20

    【Kotlin】集合操作 ① ( List 创建与元素获取 | 安全获取集合元素 | getOrElse | getOrNull )

    文章目录 一、List 创建与元素获取 二、安全获取集合元素 1、getOrElse 函数 2、getOrNull函数 三、List 创建与元素获取代码示例 一、List 创建与元素获取 ----...Kotlin 中的集合分为两类 , 只读集合 和 可变集合 ; 调用 listOf 函数 , 可以 直接创建 List 集合 ; 通过 [] 下标可以 直接获取 List 集合中的元素 ; fun main...除了使用 [] 下标获取 List 集合元素外 , Kotlin 还提供了 安全获取集合元素的 方法 : getOrElse 和 getOrNull 函数 ; 1、getOrElse 函数 List<...*/ @kotlin.internal.InlineOnly public inline fun List.getOrElse(index: Int, defaultValue: (Int...函数原型 : /** * 返回给定[index]处的元素,如果[index]不在列表范围内,则返回' null '。

    1.5K20

    基因集合的数据框,列表和对象形式

    文献等: C3: motif gene sets:模式基因集合,主要包括microRNA和转录因子靶基因两部分 C4: computational gene sets:计算基因集合,通过挖掘癌症相关芯片数据定义的基因集合...而且有各种各样的参考文献基因列表,比如转录因子列表,关于转录因子列表我在生信菜鸟团公众号看到了有一个介绍:TCGA数据挖掘常见基因集合,首先是Cancer Manag Res. 2020的文章《Prognostic...rbind, lapply(names(genes_to_check), function(x){ data.frame(gs_name=x,gene_symbol=glist[[x]]) })) 对象...(遵循MSigDB的gmt文件标准) 前面的数据框或者列表,要弄成对象就比较麻烦了,需要做一些转换: library(GSVA) # BiocManager::install('GSVA') library...collectionType=KEGGCollection(keggId), setName=keggId) }, gs, names(gs))) # 这个 gsva 函数可以根据前面的 geneset对象

    1.6K10

    Java List.add()方法:向集合列表中添加对象

    图丨pixabay Java List.add()方法:向集合列表中添加对象 Java 集合类中的 List.add() 方法用于向集合列表中添加对象。 语法1 用于在列表的尾部插入指定元素。...如果 List 集合对象由于调用 add 方法而发生更改,则返回 true;否则返回 false。 add(E e) 参数说明: e:要添加到列表中的元素。...示例 本示例使用 List 接口的实现类 ArrayList 初始化一个列表对象,然后调用 add 方法向该列表中添加数据。...list.add("爱护地球"); //向列表中添加数据 list.add("从我做起"); //向列表中添加数据 for(int i=0;i从0开始。 典型应用 本示例定义 List 类型集合变量,并使用add方法向集合的末尾与集合的指定位置添加元素,然后将添加后的元素输出。

    6K40

    【Kotlin】函数式编程 ③ ( 早集合与惰性集合 | 惰性集合-序列 | generateSequence 序列创建函数 | 序列代码示例 | take 扩展函数分析 )

    文章目录 一、及早集合与惰性集合 二、惰性集合-序列 三、generateSequence 序列创建函数 1、函数简介 2、函数原型 3、函数简介 4、使用示例 四、序列代码示例 1、使用传统的函数式编程实现...Map , Set 等集合 , 这些集合创建后 , 需要 将元素提前存储到集合中 , 然后才能访问 ; 惰性集合 : Lazy Collection , 在 集合刚创建时不必将集合元素放进去 , 当使用这些元素时才生成..., 这些 集合元素按需产生 ; 在 惰性集合 中 集合元素的 初始化 是 惰性初始化 ; 二、惰性集合-序列 ---- Kotlin 中提供了一个 惰性集合 , 称为 序列 Sequence ; 在...---- 1、函数简介 “generateSequence” 函数 是 Kotlin 标准库 中的一个函数,属于 Kotlin 的 序列生成器。...这是因为 generateSequence 返回一个实现了 Sequence 接口的对象,这意味着你可以 在多次迭代之间重用该序列。

    43940

    JVM 从入门到放弃之 Java 对象创建过程

    对象的创建 Java 是一门面向对象的编程语言,创建对象通常只是通过 new关键字创建。...完成上述流程,其实已经完成了虚拟机中内存的创建,但是我们在 Java 执行 new创建对象的角度才刚刚开始,我们还需要调用构造方法初始化对象(可能还需要在此前后调用父类的构造方法、初始化块等)。...整体对象创建流程如下: 对象内存分配 对象内存分配过程如下图所示: 为对象分配空间的任务实质上是从 Jvm 的内存区域中,指定一块确定大小的内存块给 Java 对象。(默认是在堆上分配)。...在对象内存分配的时候就从列表中去找到一块足够大的内存空间划分给实例对象,并且更新列表上的记录。这种分配方式叫做“空闲列表”(Free List)....内存分配方式选择 什么时候使用指针碰撞,什么时候才用空闲列表?

    58410

    【Python】从基础变量类型到各种容器(列表、字典、元组、集合、字符串)

    容器[整数] 正向索引:从0开始,第二个索引为1,最后一个为len(s)-1。 反向索引:从-1开始,-1代表最后一个,-2代表倒数第二个,以此类推,第一个是-len(s)。...# 创建 列表名 = [元素1, 元素2] 列表名 = [元素1, 元素2, ] # 最后加一个逗号是允许的。...创建 -- 容器的基本操作 元组名 = (元素1, 元素2, 元素3) 元组名 = tuple( 可迭代对象 ) # 在可变类型的数据有了结果后,我们可以转成元组,节省空间。 # 2....# 创建字典 字典名 = {键1:值1,键2:值2} 字典名 = dict (可迭代对象) # 转换为字典的格式要求:可迭代对象中的元素必须能够"一分为二"。...# 创建 集合名 = {元素1,元素2,元素3} 集合名 = set(可迭代对象) # 添加 集合名.add(元素) # 定位 # 因为无序不能使用索引切片。

    2.2K20

    从对象复制到对象创建:用原型模式提升你的编程水平!

    今天,我们一起来分享创建型模式的最后一个模式:原型模式。 图片定义它的定义非常简单易懂。...用原型实例指定创建对象种类,并通过拷贝原型创建新的对象通俗点的说法就是:照着原来的实例创建一个新对象再通俗点:克隆一个对象实例原型模式简介上面关于原型模式定义已经说的很明白了。...Sheep sheep1 = (Sheep) sheep.clone(); System.out.println(sheep1); } }}这里要说明两个要点:克隆对象与原对象不是同一个对象...= sheep克隆对象与原对象的类型一样(原型-->原来的类型),即sheep.clone().getClass() == sheep.getClass()深/浅拷贝问题所谓浅拷贝,就是对象的成员属性是引用类型时...,克隆后的新对象中的成员属性引用的依旧是原对象中成员属性的内存地址。

    40950

    面向对象编程:从创建类到封装与构造方法的探索

    代码如何创建类? 在面向对象编程中,类是对一类事物的抽象,包含了静态的属性(成员变量)和动态的行为(成员方法)。...在Java中,创建类的格式如下: 修饰词 class 类名 { // 属性信息 // 行为信息 } public class Student { // 属性信息 String...使用类创建对象 在创建类后,我们可以使用该类来创建对象,通过对象来访问类中的成员。创建对象的语法如下: 类名 引用名称 = new 类名([参数]); 3....通过对象访问类中的成员 通过对象,我们可以访问类中的属性和方法。访问属性需要使用点操作符(.),并可以对属性进行赋值。访问方法同样使用点操作符,但需要加上括号。...构造方法 构造方法是创建对象的同时进行初始化的特殊方法。它的格式为: public 类名() { } Java默认提供无参构造方法,如果显示定义了构造方法,则不再提供默认的无参构造方法。

    14910

    Kotlin 中的集合类排序Kotlin 开发者社区

    2.对集合进行排序 Kotlin提供了多个实用程序,使分类集合的过程更容易。让我们探讨其中几种方法。 2.1。分类 对集合进行排序的最简单方法是调用sort方法。**此方法将使用元素的自然顺序。...在Kotlin中,我们有多种方法来创建Comparator对象,我们将在下一节中介绍它: val sortedValues = mutableListOf(1 to "a", 2 to "b", 7 to...*在以下部分中,我们将讨论: 比较器创建 处理空值 扭转订单 比较器规则扩展 为了简化Comparator的创建 *, * Kotlin带来了许多工厂方法,使我们的代码更具表现力。...结论 在本快速教程中,我们了解了如何使用sort,sortBy和sortWith方法对Kotlin中的集合进行排序。...之后,我们还使用kotlin.comparisons包来创建Comparator对象,并使用其他排序规则来增强它们。 可以在GitHub上找到所有这些示例和代码段的实现。

    2.6K50

    《Kotlin 极简教程 》第5章 集合类(1)

    5.2 Kotlin 集合类简介 集合类存放的都是对象的引用,而非对象本身,我们通常说的集合中的对象指的是集合中对象的引用(reference)。...Kotlin的集合类分为:可变集合类(Mutable)与不可变集合类(Immutable)。 集合类型主要有3种:list(列表)、set(集)、和 map(映射)。...(1)列表 列表的主要特征是其对象以线性方式存储,没有特定顺序,只有一个开头和一个结尾,当然,它与根本没有顺序的集是不同的。 列表在数据结构中可表现为:数组和向量、链表、堆栈、队列等。...通过对集中的对象迭代,我们可以得到一个升序的对象集合。 (3)映射 映射与集或列表有明显区别,映射中每个项都是成对的。...列表的长度取两个集合中最短的。

    2.8K20

    Kotlin安卓开发学习(3)

    使用Java来写需要继承各个方法并逐个填充,但Kotlin可以直接创建数据类: data class Cellphone(val brand: String, val price: Double) 当用...单例类是Kotlin特有的功能,其实现的是最常用、最基础的设计模式之一的单例模式,它可以避免创建重复的对象。比如我们希望某个类在全局最多只能拥有一个实例,这时就可以使用单例模式。..., "Grape") 这里我们 listof() 这个Kotlin方法来快速实现集合的创建。...不过这个方法创建的是不可变集合,使用 mutableListOf() 可以创建可变集合。同理,也可以使用 setOf 和 mutableSetOf()创建Set。...mapOf() 和 mutableMapOf()创建map,不过在Kotlin中,map创建使用 to 连接 K-V:mapOf("Apple" to 1, "Banana" to 2, "Orange

    52610

    kotlin数据容器

    Kotlin数组创建技巧 arrayOf创建数组 创建一个数组并传递元素值给它, 集合中的元素可以是任意类型 val array = arrayOf(1, 2, 3)...,下标从0开始 array.component1() … arr.component5()获取数组的前5个元素。...列表的一个示例是一句话:有一组字、这些字的顺序很重要并且字可以重复。 Set: 是唯一元素的集合。它反映了集合(set)的数学抽象:一组无重复的对象。一般来说 set 中元素的顺序并不重要。...集合创建的技巧 集合分为可变集合,显而易见,是指集合创建完成之后,可以对集合进行增删改查操作 不可变集合,显而易见,是指指集合创建完成之后,不能对集合进行增删改查操作,会抛异常 数组创建方式 示例 说明...中提供了强大对的集合排序的API,让我们一起来学习一下: val numbers = mutableListOf(1, 2, 3, 4) numbers.reverse() //列表翻转

    9910

    Kotlin Vocabulary | Collection 和 Sequence

    在很多场景中我们会使用到集合,Kotlin 标准库 (Kotlin Standard Library) 中提供了非常多出色的关于集合的实用函数。...Collection 和 Sequence 如何选择 image.png 假设我们有一个列表,存储了许多不同形状的对象,我们希望将列表中形状的颜色变成黄色,然后获取列表中的第一个正方形。...Sequences asSequence —— 基于原始集合的迭代器创建一个 Sequence; 调用 map 时 —— Sequence 会将转换操作的信息存储到一个列表中,该列表只会存储要执行的操作...当使用 Sequence 时,会避免创建两个新对象,而当使用 Collection 时则会避免创建整个列表。...而当列表数据很大时,中间集合的创建会很消耗资源,这种情况下就应该使用 Sequence。

    54220
    领券