Kotlin教程:Map接口13个示例
Kotlin Map
是一个接口和通用的元素集合。 Map
接口以键和值对的形式保存数据。 映射的键是唯一的,每个键只保留一个值。 键和值可以是不同类型的对,例如,
,
等。 此接口是不可变的,它的大小固定,方法支持只读访问。
要使用Map接口,需要使用mapOf()
或mapOf ()
函数。
Map接口声明
interface Map (source)
Map接口的属性
属性 | 描述 |
---|---|
abstract val entries: Set |
它仅返回当前映射中Set 接口的所有键和值对。 |
abstract val keys: Set |
它仅返回当前映射中Set 接口的所有键。 |
abstract val keys: Set |
它返回当前映射中的键和值对的数量。 |
abstract val values: Collection |
它仅返回当前映射中所有值的读取集合。 此集合可能包含重复值。 |
Map接口函数
Map接口中有一些非常好用的函数,Map接口的函数如下所述。
函数 | 描述 |
---|---|
fun Map.getValue(key: K): V |
它返回给定键的值,如果映射中没有这样的键,则抛出异常。 |
operator fun Map.getValue( thisRef: Any?, property: KProperty): V1 |
它从当前只读映射返回给定对象的属性值。 |
operator fun Map.contains(key: K): Boolean |
它检查在Map中是否包含给定的键。 |
fun Map.containsKey(key: K): Boolean |
如果Map 包含指定的键,则返回true 。 |
fun Map.containsValue(value: V): Boolean |
如果map 有将一个或多个键映射到指定值,则返回true 。 |
fun Map.getOrDefault(key: K,defaultValue: V ): V |
它返回由映射中的键对应的值,或者如果map不包含给定键的映射,则返回默认值。 |
fun Map.asIterable(): Iterable |
它创建了一个Iterable 接口实例,它包装原始映射,在迭代时返回数据项目。 |
fun Map.asIterable(): Iterable |
它创建了一个Iterable 接口实例,它包装原始映射,在迭代时返回数据项目。 |
fun Map.asSequence(): Sequence |
它创建一个Sequence 接口实例,它包装当前映射并在迭代时返回数据项目。 |
operator fun Map.iterator(): Iterator |
它返回Map中数据项目的迭代器。 |
operator fun Map.minus(key: K): Map |
它返回一个Map,其中包含原始Map的所有条目,但提及键的数据项目除外。 |
operator fun Map.minus(keys: Iterable): Map |
它返回一个映射,其中包含原始映射的所有数据项目,除了那些包含在提及键集合中的数据项目键。 |
operator fun Map.minus(keys: Sequence): Map |
它返回一个映射,其中包含原始映射的所有数据项目,除了那些包含在给定键序列中的数据项目键。 |
operator fun Map.plus(pair: Pair): Map |
它通过从给定键值对向当前映射添加或替换数据项目来创建新的只读映射。 |
operator fun Map.plus(pairs: Iterable): Map |
它通过从给定的键值对集合中向当前映射添加或替换数据项目来创建新的只读映射。 |
operator fun Map.plus(pairs: Sequence): Map |
它通过从给定的键值对序列向当前映射添加或替换数据项目来创建新的只读映射。 |
Map接口示例1
下面使用mapOf ()
函数声明和遍历Map
值的示例。 在这个例子中,创建Int
类型的键和String
类型的值。
fun main(args: Array){
val myMap = mapOf(1 to "Java", 4 to "Kotlin", 3 to "Python")
for(key in myMap.keys){
println(key.toString() +" => "+myMap[key])
}
}