首页
学习
活动
专区
工具
TVP
发布

【Kotlin】集合操作 ⑤ ( Map 集合 | 获取 Map 值 | Map 遍历 | 可变 Map 集合 )

文章目录 一、Map 集合 二、获取 Map 值 三、Map 遍历 四、可变 Map 集合 一、Map 集合 ---- 调用 mapOf 函数 创建 Map 集合 , 键值对 元素有两种初始化方式 :...=12, Jack=20} 二、获取 Map 值 ---- 获取 Map 值 : 使用 取值运算符 [] 获取 Map 集合中的值 , 运算符中传入 键 , 如果找不到 键 对应的 值 , 返回 null...18), Pair("Jerry", 12), Pair("Jack", 20)) println(map2) // 使用 取值运算符 `[]` 获取 Map 集合中的值 , 运算符中传入...=20} 18 18 20 88 三、Map 遍历 ---- Map 遍历方式 : forEach 函数 , 传入 Lambda 表达式参数 , 该 Lambda 表达式的参数为 Map.Entry<K...集合 ---- 通过调用 mutableMapOf 函数 , 可创建 可变 Map 集合 ; 代码示例 : fun main() { val mutableMap = mutableMapOf

2.1K40

【Groovy】map 集合 ( map 集合遍历 | 使用 map 集合的 find 方法遍历 map 集合 | 代码示例 )

文章目录 一、使用 map 集合的 find 方法遍历 map 集合 二、代码示例 一、使用 map 集合的 find 方法遍历 map 集合 ---- 使用 map 集合的 find 方法遍历 map...集合 , 传入一个闭包参数 ; 该闭包中 , 可以有 1 个参数 , 也可以有 2 个参数 ; 如果 有 1 个参数 , 则 传递 Entry 键值对 对象 ; 如果有 2 个参数 ,...则 传递 键 和 值 两个对象 ; 该方法会返回 map 集合中 第一个查找到的 Entry 键值对对象 , 该对象中包含一个 键 和 值 ; map 集合的 find 方法 函数原型 : /...public static Map.Entry find(Map self, @ClosureParams(MapEntryOrKeyValue.class) Closure...= [J:"Java", "K":"Kotlin", 'G':"Groovy"] // 遍历 map 集合 def entry = map.find { key, value

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

有序的Map集合_map集合特点

我们通常使用的Map集合是HashMap,在大多数情况下HashMap可以满足我们的要求,但是HashMap有一个缺点:HashMap是无序的,即其迭代顺序与其key或value的大小无关。...而在某些情况下,如果我们需要Map集合里的元素有序,那么HashMap是不能满足我们的要求的。 那么有没有有序的Map集合呢?...有,Java提供了两种有序的Map集合:LinkedHashMap和TreeMap; (一)LinkedHashMap LinkedHashMap继承了HashMap,是HashMap的子类。...().iterator(); while(iter.hasNext()) { Map.Entry entry = (Map.Entry)iter.next(); // 获取key...集合,其底层是一颗红黑树,该映射根据其键的自然顺序进行排序,或者根据创建映射时提供的 Comparator 进行排序,具体取决于使用的构造方法。

70810

【Groovy】map 集合 ( map 集合遍历 | 使用 map 集合的 each 方法遍历 map 集合 | 代码示例 )

文章目录 一、使用 map 集合的 each 方法遍历 map 集合 二、代码示例 一、使用 map 集合的 each 方法遍历 map 集合 ---- 遍历 map 集合 , 可以调用 map 集合的...| 集合的 each 方法返回值分析 ) 集合 ; map 集合中 , 调用 each 方法 , 传入的闭包有 2 个参数 ; 2 个参数分别是 Key 和 Value , 这两个参数没有指定类型..., 会根据当前遍历的 map 集合进行自动类型适配 ; map 集合的 each 方法 函数原型 : /** * 允许使用闭包迭代映射。...* * @param self 要遍历的 map 集合 * @param closure 在映射的每个条目上应用1或2 arg闭包 * @return 返回 self...= [J:"Java", "K":"Kotlin", 'G':"Groovy"] // 遍历 map 集合 map.each { key, value ->

10.4K30

Map集合

|--TreeMap:底层是二叉树数据结构,线程不同步,可以用于给map集合中的键进行排序。...Map集合的两种取出方式:(***---------->>>>>>>>map集合key不能为 int 类型,但是可以包装为 Integer 类型) 1.Set keySet:将map中所有的键存入到...Set集合,因为Set具备迭代器 所有可以迭代方式取出所有的键,在根据get方法,获取每一个键对应的值 Map集合的取出原理:将map集合转成set集合,在通过迭代器取出。...2.Set> entrySet: 将Map集合中的映射关系存入到了Set集合中,而这个关系的数据类型就是:Map.Entry Map.Entry其实Entry也是一个接口...与 map 嵌套 public static void showMap_and_Map(){ //map集合key不能为 int 类型,但是可以包装为 Integer 类型 HashMap<

80060

Java集合-Map

Java集合-Map Map(java.util.Map)接口,代表着key和value间的映射,更具体地说,Java映射可以存储键和值对,一旦存储在地图中,以后就可以只使用键来查找值。...创建Map 创建新的Map必须使用它的实现之一: Map mapA = new HashMap(); Map mapB = new TreeMap(); Map的泛型 默认可以往Map里面添加任何对象...把另外一个Map中的所有元素插入Map Map接口中有一个putAll()方法,可以将另外一个Map实例中的所有键值拷贝到当前Map中,实际上就是两个Map的合集,下面是代码: Map<String,...nextValue iterator.next(); } 由于一个集合是无序的,所以不能保证值集中的值的迭代顺序,但是如果是TreeSet则可以控制顺序。...获取Map中Entries的大小 可以通过 Map 的size() 方法获取Map的 entries数量: int entryCount = map.size(); 检查Map是否是空 Map接口中有一个专门的方法

1.2K20

【Java】Map集合

本期介绍 本期主要介绍Map集合 文章目录 第一章 Map集合 1.1 概述 1.2 Map常用子类 1.3 Map接口中的常用方法 1.4 Map集合遍历键找值方式 1.5 Entry键值对对象 1.6...Collection中的集合称为单列集合Map中的集合称为双列集合。 需要注意的是,Map中的集合不能包含重复的键,值可以重复;每个键只能对应一个值。...1.2 Map常用子类 通过查看Map接口描述,看到Map有多个子类,这里我们主要讲解常用的HashMap集合、LinkedHashMap集合。...public Set> entrySet(): 获取到Map集合中所有的键值对对象的集合(Set集合)。...在Map集合中也提供了获取所有Entry对象的方法: public Set> entrySet(): 获取到Map集合中所有的键值对对象的集合(Set集合)。

1.2K10

【Flutter】Dart 数据类型 Map 类型 ( 创建 Map 集合 | 初始化 Map 集合 | 遍历 Map 集合 )

forEach 遍历 Map 集合 2、 使用普通 for 循环遍历 Map 集合 3、 使用 map 方法进行遍历生成新的 Map 集合 四、 完整代码示例 五、 相关资源 一、 Dart 数据类型...: Bush, 2: Obama, 3: Trump} 三、 Map 集合遍历 ---- 1、 使用 forEach 遍历 Map 集合 使用 forEach 遍历 Map 集合 : // 1...方法进行遍历生成新的 Map 集合 使用 map 方法进行遍历生成新的 Map 集合 : 使用 map 方法 进行遍历 , 遍历过程中 生成新的 Map 集合 , 遍历后 , 会返回一个新的 Map...集合 , 传入一个回调函数 , 参数是 Map 集合中每个元素的 键值对 key 和 value , 返回值是新的 Map 集合 ; 下面的示例将 原 Map 集合中的键值对对调 , 生成一个新的 Map...集合 , 并打印新的 Map 集合中的内容 ; // 3 .

1.8K00

【Groovy】map 集合 ( map 集合定义 | 通过 getClass 函数获取 map 集合的类型 | 代码示例 )

文章目录 一、map 集合定义 二、获取 map 集合类型 三、代码示例 一、map 集合定义 ---- 声明键值对 , 其中 键 Key 可以 不使用引号 , 可以 使用单引号 ‘’ , 也可以 使用双引号...", "K":"Kotlin", 'G':"Groovy"] 上述创建的 map 集合是 java.util.LinkedHashMap 类型的集合; 二、获取 map 集合类型 ---- 之前的博客...List 集合可以直接使用 .class 方式 , 获取集合的类型 ; map 集合 不能直接使用 .class 的方式获取类型 , map 变量通过 .class 方式取值 , 代码是绿色的 , 这里将...class 当做了 map 集合的键 , 调用 map.class 是获取 键 class 对应的 值 的 ; 如果要获取 map 变量的类型 , 必须 使用 getClass() 方法 ; 三、代码示例...map.class 代码 , 获取键 class 对应的值 , 没有定义该键 Key , 肯定获取不到数据 , 返回 null ; 第二次调用 map.getClass() , 获取的是 map 集合的类型

1.4K20

Map集合总结

一:Map Map用于保存具有映射关系的数据,总是以键值对的方式存储数据。 Map继承树 Map集合的key和value都可以是任何引用类型的数据。Map集合的key不允许重复,value允许重复。...Map集合中获取数据时,只要给出指定的key,就可以取出对应的value。 Map接口中定义的常用方法: (1)void clear():删除该Map对象中所有的键值对。...(4)Set entrySet():返回Map中所包含的键值对所组成的Set集合,每个集合元素都是Map.Entry对象。...提供了入下三类方法来返回一个不可以变的集合: (1)emptyXxx():返回一个空的,不可以变的集合对象,此处的集合既可以是List,也可以是Set,还可以是Map。...(3)unmodifiableXxx():返回指定集合对象的不可变视图。此处的集合既可以是List,也可以是Set,还可以是Map

47220

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

通过解构一次性给多个元素赋值 八、Set 集合 九、可变 Set 集合 十、List 与 Set 之间相互转换 十一、数组类型 十二、Map 集合 十三、获取 Map 值 十四、Map 遍历 十五、可变...Map 集合 一、List 创建与元素获取 ---- Kotlin 中的集合分为两类 , 只读集合 和 可变集合 ; 调用 listOf 函数 , 可以 直接创建 List 集合 ; 通过 [] 下标可以...=12, Jack=20} 十三、获取 Map 值 ---- 获取 Map 值 : 使用 取值运算符 [] 获取 Map 集合中的值 , 运算符中传入 键 , 如果找不到 键 对应的 值 , 返回 null...18), Pair("Jerry", 12), Pair("Jack", 20)) println(map2) // 使用 取值运算符 `[]` 获取 Map 集合中的值 , 运算符中传入...集合 ---- 通过调用 mutableMapOf 函数 , 可创建 可变 Map 集合 ; 代码示例 : fun main() { val mutableMap = mutableMapOf

4.7K20

Map集合和List集合总结

Map集合和List集合哪个效率更高 List接口 List集合是一个元素有序(存储有序)、可重复的集合集合中的每个元素都有对应的索引,以便于查询和修改,List集合是允许存储null值的。...Map接口   Map 未继承 Collection,而是独立的接口,Map 是一种把键对象和值对象进行映射的集合,它的每一个元素都包含了一对键对象和值对象,Map 中存储的数据是没有顺序的, 其 key...Map集合的特点: 1.能够存储唯一的列的数据(唯一,不可重复) 2.能够存储可以重复的数据(可重复) 3.值的顺序取决于键的顺序 4.键和值都是可以存储null元素的 Map 接口常见的四个实现类...特点: 不允许null键和null值 线程安全,效率低 HashMap集合 基于哈希表的 Map 接口的实现。此实现提供所有可选的映射操作,并允许使用 null 值和 null 键。...而Map则不需要。   大概就是这样,如果你考虑一个长度比较可预测的保存元素的集合,并且很少有删除操作,大部分是进行全部迭代的操作,那么用List会比较合适。

57520

Go Map(集合)和sync.Map

Go中的Map对应的数据结构即为哈希表,但它的中文翻译却是集合,这点需要注意。我个人觉得翻译成集合错的很离谱,应该直译成映射。 Go语言中的Map是一种无序的键值对集合。...delete() Go语言中内置了delete()函数用于删除集合中的元素,使用上需要以map和要删除的key作为参数。...切片作为map的值 特别注明,Go语言中可以使用切片作为map的值,这种情况下一个key对应多个value。 sync.Map Go语言中的Map同样不是线程安全的。...Go语言在1.9版本提供了效率较高的sync.Map sync.Map有以下特性: 无需初始化,直接声明即可使用 sync.Map不能像map那样读写,而是使用sync.Map提供的方法,Store(key...它不限制一个map内所有的key和value都必须是相同的类型。 参考文献 深入理解 Go map:赋值和扩容迁移 Go map实现原理 Go语言sync.Map(在并发环境中使用的map

1.7K30
领券