学习笔记(三十六):ArkTs-@ohos.util.HashMap (非线性容器HashMap)

概述:

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
 
posted @ 2024-11-11 21:43  听着music睡  阅读(60)  评论(0编辑  收藏  举报