kotlin常用collection集合操作整理

author author     2023-04-15     414

关键词:

参考技术A

本篇记录了 Kotlin 常用集合的相关操作,用以熟练使用 Kotlin 里的相关集合。集合接口与相关函数位于 kotlin.collections 包中。

Kotlin 标准库提供了基本集合类型的实现: Set、List 以及 Map。 一对接口代表每种集合类型:

其中灰色是不可变集合,黄色是可变集合。 Iterator 意为迭代器, Collection 是只读接口,而 MutableCollection 是一个具有写操作的 Collection 接口:

List< T> 以指定的顺序存储元素,并提供使用索引访问元素的方法。从第一个元素索引0 到最后一个元素索引 (list.size - 1) 为止。 List 的默认实现是 ArrayList 。

执行结果会转化为 Map :

Set 内部是用 Map 实现的, Set 相关的实现详见: Java Collection系列之:HashSet、LinkedHashSet、TreeSet的使用及源码解析

Map<K, V> 不是 Collection 接口的继承者;但是它也是 Kotlin 的一种集合类型。 Map 存储 键-值 对(或 条目);键是唯一的,但是不同的键可以与相同的值配对。 Map 接口提供特定的函数进行通过键访问值、搜索键和值等操作。 Map 相关的实现详见: Java Collection系列之HashMap、ConcurrentHashMap、LinkedHashMap的使用及源码分析

Iterable 处理包含多个步骤时,每个处理步骤完成并返回其结果——中间集合,然后在此集合上执行后续步骤。 Sequence 序列仅当请求整个处理链的结果时才进行实际计算: Sequence 对每个元素逐个执行所有处理步骤。

结论 :序列可避免生成中间步骤的结果,从而提高了整个集合处理链的性能。 但是,序列的延迟性质增加了一些开销,这些开销在处理较小的集合或进行更简单的计算时可能很重要。 因此,应该同时考虑使用 Sequence 与 Iterable ,并确定在哪种情况更适合。

执行结果:

执行结果:

上述序列中, Sequence 处理需要 18 个步骤, Iterable 需要 23 个步骤来执行列表操作,上述示例参见 Sequence序列操作 。

创建与现有集合具有相同元素的集合,可以使用复制操作,例如 toList()、toMutableList()、toSet() 等等。标准库中的集合复制操作创建了具有相同元素引用的 浅复制 集合。 因此, 对集合元素所做的更改会反映在其所有副本中,如果对源集合进行添加或删除元素,则不会影响副本 。

排序主要使用 Comparable 及 Comparator 。其中 Comparable 可以理解为是内部排序, Comparator 是外部排序。

集合排序示例:

集合常用类及方法汇总(代码片段)

...包括对集合中的对象进行增删改和遍历操作   Collection接口/***以下演示对Collection的操作方法*/Collection<String>c=newArrayList<>();//向集合中增加指定对象c.add("hello");c.add("world");c 查看详情

集合知识点整理

Collection接口1综述:集合接口Collection接口java.util包Collecton接口常用的子接口有:List接口(列表,序列)、Set接口(集)List接口常用的子类有:ArrayList类(数组列表)、LinkedList类(链表)Set接口常用的子类有:HashSet类(哈希表)、LinkedHashSet类(基... 查看详情

java集合常用类特点整理

集合的结构如下图所示:集合的两个顶级接口分别为:Collection和MapCollection下有两个比较常用的接口分别是List(列表)和Set(集),其中List可以存储重复元素,元素是有序的(存取顺序一致),可以通过List脚标来获取指定元素;... 查看详情

collection接口常用操作数据结构(代码片段)

Collection接口概念:collection即单列集合用来存储管理一组对象objects,这些对象一般被称为元素elements,统一定义了一套单列集合的接口Collection常用操作:1.创建Collection对象:importjava.util.ArrayList;importjava.util.Colle... 查看详情

collections操作集合工具类

常用方法:自定义类型排序 ①被排序的集合里面存储的元素,必须实现Comparable,重写接口中的方法compareTo定义排序规则。缺点就是规则四了②灵活规则排序  查看详情

集合:collection接口(常用方法遍历)(代码片段)

1、Collection接口(1)特点 没有直接的实现类,而是提供了子接口该接口提供了一系列常见的集合操作的方法,例如:增加、删除、查找(2)常见方法add:单个添加addAll:批量添加remove:删除removeAll:批量删除contains:查找con... 查看详情

面试简单整理之集合(代码片段)

...线性方式储蓄对象,并允许存放重复对象。List能够利用Collections类的静态方法sort排序。sort(Listlist)自然排序;sort(Listlistm,Comparatorcodddmparator)客户化排序  三、Map集合,其主要实现类有HashMap、TreeMap。Map对值没有唯一性要求,对健... 查看详情

javase_08_collections常用功能

1.1常用功能java.utils.Collections是集合工具类,用来对集合进行操作。部分方法如下:publicstatic<T>booleanaddAll(Collection<T>c,T...elements):往集合中添加一些元素。publicstaticvoidshuffle(List<?>list)打乱顺序:打乱集合顺序。publicstatic 查看详情

数据库,文档记录,集合等的常用操作

=========================库的操作=============================== usedb_name#切换数据库 show[dbs|collections]#显示所有的数据库|集合 db#显示当前所处的数据库   db.[db_name|collection_name].[insert|save] 查看详情

线程安全的集合操作类

...p,ArrayList,LinkedList,HashSet但是只有Vector是线程安全的,Collections实现了一个些方法可以保证常用的集合类达到线程安全:Map:Map<Object,Object>map= Collections.synchronizedMap(newHash 查看详情

java集合框架概述及collection接口中常用的方法总结

​一、集合框架概述:集合,数组都是对多个数据进行存储操作的结构,简称Java容器说明:此时的存储,主要指的是内存层面的存储,不涉及到持久化的存储(.txt,.jpg,.avi,数据库中的数据)数组在存储多个数据的特点:2.1.... 查看详情

常用方法工具整理(代码片段)

...t1=Lists.partition(list,MAX_NUMBER);System.out.println(supList1);//commons-collections4方式List<List<Integer>>subList2=ListUtils.partition(list,MAX_NUMBER);System.out.println(subList2); 查看详情

collection(代码片段)

Collection是一个接口,是高度抽象出来的集合,它包含了集合的基本操作和属性。什么是集合集合是存储对象的容器,面相对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,存储对象,集合是存储对象... 查看详情

java集合之collection概述(代码片段)

目录一、前言二、常见的集合概览图三、Collection集合1.Collection集合常用方法2.Collection集合之迭代器迭代器介绍迭代器常用方法:一、前言集合在Java中的作用是显而易见的,他可以存储我们的信息,可以实现增删减改... 查看详情

collections常用方法(代码片段)

CollectionspublicclassCollectionsextendsObject此类仅由静态方法组合或返回集合。它包含对集合进行操作的多态算法,“包装器”,返回由指定集合支持的新集合,以及其他一些可能的和最终的。如果提供给它们的集合或类对象为nul... 查看详情

7.8操作集合的工具类:collections(代码片段)

...设置不可变集合五、Java9新增的不可变集合一、排序操作Collections提供了如下常用类方法用于对List集合进行排序:★voidreverse(Listlist):反转指定的List集合中的元素顺序。★voidshuffle(Listlist):对Lsit集合中的元素进行随机排序(shuffle... 查看详情

collections工具类的用法

1.Collections和Collection有什么区别?   1. Collection是集合框架中的一个顶层接口,它里面定义了单列集合的共性方法。它有两个常用的子接口,      List:对元素都有定义索引。有序的。可以重复元素。  Set:不... 查看详情

collection常用方法汇总(代码片段)

Collection常用方法汇总Collection常用方法汇总Collection公共的方法Collection是单列结合的祖宗接口,它的方法是所有单列集合都可以继承使用的。//把给定元素添加到集合中publicbooleanadd(Ee)//把给定元素从集合中删除publicbooleanremove(Ee)//... 查看详情