概述:
HashMap底层使用数组+链表+红黑树的方式实现,查询、插入和删除的效率都很高。
HashMap存储内容基于key-value的键值对映射,不能有重复的key,且一个key只能对应一个value
一、导入
import {HashMap} from '@kit.ArkTS'
二、定义
let hashMap: HashMap<string, number> = new HashMap();
三、常用函数
1、isEmpty,判断该HashMap是否为空
2、hasKey,判断此HashMap中是否含有该指定key
3、hasValue,判断此HashMap中是否含有该指定value
maps :HashMap<String,String> = new HashMap()this.maps.set('name',"Alice") console.log('存在name',this.maps.hasKey('name')) console.log('存在agee',this.maps.hasValue('age'))Logs: 存在name true 存在agee false
4、get,获取指定key所对应的value,不存在返回undefined
5、setAll,将一个HashMap中的所有元素组添加到另一个hashMap中
let maps :HashMap<String,String> = new HashMap()maps.set('name',"Alice")let otherMaps:HashMap<String,String> = new HashMap()otherMaps.set('age','11')maps.setAll(otherMaps)console.log('存在name',maps.hasKey('name'))console.log('存在age',maps.hasValue('age'))console.log('存在age',maps.length)
6、set,向HashMap中添加或更新一组数据
7、remove,删除指定key所对应元素
8、clear,清除HashMap中的所有元素,并把length置为0
9、keys,返回包含此映射中包含的键的新迭代器对象
10、values,返回包含此映射中包含的键对应的值的新迭代器对象
11、replace,对HashMap中一组数据进行更新(替换)
12、forEach,通过回调函数来遍历HashMap实例对象上的元素以及元素对应的下标
let maps :HashMap<String,String> = new HashMap()maps.set('name',"Alice")maps.set('age',"12")maps.forEach((value?: string, key?: string) => {console.log("value:" + value, "key:" + key);});Logs: value:Alice key:name value:12 key:age