首页云计算鸿蒙语言基础类库:【@ohos.util.Vector (线性容器Vector)】

鸿蒙语言基础类库:【@ohos.util.Vector (线性容器Vector)】

时间2024-07-19 01:49:40发布ongwu分类云计算浏览60

线性容器Vector

说明:模块首批接口API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本开发前请熟悉鸿蒙开发指导文档gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或者复制转到。

Vector是一种线性数据结构,底层基于数组实现。当Vector的内存用尽时,会自动分配更大的连续内存区,将原先的元素复制到新的内存区,并释放旧的内存区。使用Vector能够高效快速地访问元素。

Vector和[ArrayList]相似,都是基于数组实现,但Vector提供了更多操作数组的接口。它们都可以动态调整容量,但Vector每次扩容增加1倍,ArrayList只扩容0.5倍。

推荐使用场景:数据量大时,一般使用Vector来存取数据

导入模块

import Vector from @ohos.util.Vector; 1

Vector

属性

系统能力: SystemCapability.Utils.Lang

名称参数类型可读可写说明lengthnumber是否Vector的元素个数。
constructor

constructor()

Vector的构造函数。

系统能力: SystemCapability.Utils.Lang

示例:

let vector = new Vector(); 1 add

add(element: T): boolean

在Vector中尾部插入元素。

系统能力: SystemCapability.Utils.Lang

参数:

参数名类型必填说明elementT是添加进去的元素。

返回值:

类型说明boolean插入成功返回true,失败返回false。

示例:

let vector = new Vector(); let result = vector.add("a"); let result1 = vector.add(1); let b = [1, 2, 3]; vector.add(b); let c = {name : "lala", age : "13"}; let result3 = vector.add(c); 1234567 insert

insert(element: T, index: number): void

在长度范围内任意插入指定元素。

系统能力: SystemCapability.Utils.Lang

参数:

参数名类型必填说明elementT是被插入的元素。indexnumber是被插入的位置索引。

示例:

let vector = new Vector(); vector.insert("A", 0); vector.insert(0, 1); vector.insert(true, 2); 1234 has

has(element: T): boolean

判断此Vector中是否含有该指定元素。

系统能力: SystemCapability.Utils.Lang

参数:

参数名类型必填说明elementT是指定的元素。

返回值:

类型说明boolean是否包含指定元素。

示例:

let vector = new Vector(); let result = vector.has("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); vector.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); let result1 = vector.has("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); 1234 getIndexOf

getIndexOf(element: T): number

返回指定元素第一次出现时的下标值,查找失败返回-1。

系统能力: SystemCapability.Utils.Lang

参数:

参数名类型必填说明elementT是指定的元素。

返回值:

类型说明number返回指定元素第一次出现时的下标值,查找失败返回-1。

示例:

let vector = new Vector(); vector.add(2); vector.add(4); vector.add(5); vector.add(2); vector.add(1); vector.add(2); vector.add(4); let result = vector.getIndexOf(2); 123456789 getLastIndexOf

getLastIndexOf(element: T): number

返回指定元素最后一次出现时的下标值,查找失败返回-1。

系统能力: SystemCapability.Utils.Lang

参数:

参数名类型必填说明elementT是指定元素。

返回值:

类型说明number返回指定元素最后一次出现时的下标值,查找失败返回-1。

示例:

let vector = new Vector(); vector.add(2); vector.add(4); vector.add(5); vector.add(2); vector.add(1); vector.add(2); vector.add(4); let result = vector.getLastIndexOf(2); 123456789 removeByIndex

removeByIndex(index: number): T

根据元素的下标值查找元素,返回元素后将其删除

系统能力: SystemCapability.Utils.Lang

参数:

参数名类型必填说明indexnumber是指定元素的下标值。

返回值:

类型说明T返回删除的元素。

示例:

let vector = new Vector(); vector.add(2); vector.add(4); vector.add(5); vector.add(2); vector.add(4); let result = vector.removeByIndex(2); 1234567 remove

remove(element: T): boolean

删除查找到的第一个指定的元素。

系统能力: SystemCapability.Utils.Lang

参数:

参数名类型必填说明elementT是指定元素。

返回值:

类型说明boolean删除成功返回true,否则返回false。

返回值:

let vector = new Vector(); vector.add(2); vector.add(4); vector.add(5); vector.add(4); let result = vector.remove(2); 123456 removeByRange

removeByRange(fromIndex: number, toIndex: number): void

从一段范围内删除元素,包括起始值但不包括终止值。

系统能力: SystemCapability.Utils.Lang

参数:

参数名类型必填说明fromIndexnumber是起始下标。toIndexnumber是终止下标。

示例:

let vector = new Vector(); vector.add(2); vector.add(4); vector.add(5); vector.add(4); vector.removeByRange(2,4); vector.removeByRange(4,3); vector.removeByRange(2,6); 12345678 replaceAllElements

replaceAllElements(callbackfn: (value: T, index?: number, vector?: Vector) => T, thisArg?: Object): void

用户操作Vector中的元素,用操作后的元素替换原元素并返回操作后的元素。

系统能力: SystemCapability.Utils.Lang

参数:

参数名类型必填说明callbackfnfunction是回调函数。thisArgObject否callbackfn被调用时用作this值。

callbackfn的参数说明:

参数名类型必填说明valueT是当前遍历到的元素。indexnumber否当前遍历到的下标值。vectorVector否当前调用replaceAllElements方法的实例对象。

示例:

let vector = new Vector(); vector.add(2); vector.add(4); vector.add(5); vector.add(4); vector.replaceAllElements((value: number, index: number) => { return value = 2 * value; }); vector.replaceAllElements((value: number, index: number) => { return value = value - 2; }); 1234567891011 forEach

forEach(callbackfn: (value: T, index?: number, vector?: Vector) => void, thisArg?: Object): void

通过回调函数来遍历Vector实例对象上的元素以及元素对应的下标。

系统能力: SystemCapability.Utils.Lang

参数:

参数名类型必填说明callbackfnfunction是回调函数。thisArgObject否callbackfn被调用时用作this值。

callbackfn的参数说明:

参数名类型必填说明valueT是当前遍历到的元素。indexnumber否当前遍历到的下标值。vectorVector否当前调用forEach方法的实例对象。

示例:

let vector = new Vector(); vector.add(2); vector.add(4); vector.add(5); vector.add(4); vector.forEach((value, index) => { console.log("value:" + value, index) }); 12345678 sort

sort(comparator?: (firstValue: T, secondValue: T) => number): void

对Vector中的元素进行一个排序操作

系统能力: SystemCapability.Utils.Lang

参数:

参数名类型必填说明comparatorfunction否回调函数。

comparator的参数说明:

参数名类型必填说明firstValueT是前一项元素。secondValueT是后一项元素。

示例:

let vector = new Vector(); vector.add(2); vector.add(4); vector.add(5); vector.add(4); vector.sort((a: number, b: number) => a - b); vector.sort((a: number, b: number) => b - a); vector.sort(); 12345678 subVector

subVector(fromIndex: number, toIndex: number): Vector

根据下标截取Vector中的一段元素,并返回这一段vector实例,包括起始值但不包括终止值。

系统能力: SystemCapability.Utils.Lang

参数:

参数名类型必填说明fromIndexnumber是起始下标。toIndexnumber是终止下标。

返回值:

类型说明Vector返回Vector对象实例。

返回值:

let vector = new Vector(); vector.add(2); vector.add(4); vector.add(5); vector.add(4); let result = vector.subVector(2,4); let result1 = vector.subVector(4,3); let result2 = vector.subVector(2,6); 12345678 clear

clear(): void

清除Vector中的所有元素,并把length置为0。

系统能力: SystemCapability.Utils.Lang

返回值:

let vector = new Vector(); vector.add(2); vector.add(4); vector.add(5); vector.add(4); vector.clear(); 123456 clone

clone(): Vector

克隆一个与Vector相同的实例,并返回克隆后的实例。修改克隆后的实例并不会影响原实例。

系统能力: SystemCapability.Utils.Lang

返回值:

类型说明Vector返回Vector对象实例。

示例:

let vector = new Vector(); vector.add(2); vector.add(4); vector.add(5); vector.add(4); let result = vector.clone(); 123456 getCapacity

getCapacity(): number

获取当前实例的容量大小。

系统能力: SystemCapability.Utils.Lang

返回值:

类型说明number返回Vector的容量大小。

示例:

let vector = new Vector(); vector.add(2); vector.add(4); vector.add(5); vector.add(4); let result = vector.getCapacity(); 123456 convertToArray

convertToArray(): Array

把当前Vector实例转换成数组,并返回转换后的数组。

系统能力: SystemCapability.Utils.Lang

返回值:

类型说明Array返回数组类型。

示例:

let vector = new Vector(); vector.add(2); vector.add(4); vector.add(5); vector.add(4); let result = vector.convertToArray(); 123456 isEmpty

isEmpty(): boolean

判断该Vector是否为空。

系统能力: SystemCapability.Utils.Lang

返回值:

类型说明boolean为空返回true,否则返回false。

示例:

let vector = new Vector(); vector.add(2); vector.add(4); vector.add(5); vector.add(4); let result = vector.isEmpty(); 123456 increaseCapacityTo

increaseCapacityTo(newCapacity: number): void

如果传入的新容量大于或等于Vector中的元素个数,将容量变更为新容量。

系统能力: SystemCapability.Utils.Lang

参数:

参数名类型必填说明newCapacitynumber是新容量。

示例:

let vector = new Vector(); vector.add(2); vector.add(4); vector.add(5); vector.add(4); vector.increaseCapacityTo(2); vector.increaseCapacityTo(8); 1234567 trimToCurrentLength

trimToCurrentLength(): void

把容量限制为当前的length大小。

系统能力: SystemCapability.Utils.Lang

示例:

let vector = new Vector(); vector.add(2); vector.add(4); vector.add(5); vector.add(4); vector.trimToCurrentLength(); 123456 toString

toString(): string

用","将Vector实例中的元素按顺序拼接成字符串。

系统能力: SystemCapability.Utils.Lang

返回值:

类型说明string返回对应的字符串。

示例:

let vector = new Vector(); vector.add(2); vector.add(4); vector.add(5); vector.add(4); let result = vector.toString(); 123456 copyToArray

copyToArray(array: Array): void

将Vector实例中的元素按照下标复制到指定数组。

系统能力: SystemCapability.Utils.Lang

参数:

参数名类型必填说明arrayArray是指定数组。

示例:

let vector = new Vector(); vector.add(2); vector.add(4); vector.add(5); vector.add(4); let array = ["a", "b", "c", "d", "e", "f"]; let result = vector.copyToArray(array); 1234567 getFirstElement

getFirstElement(): T

获取实例中的第一个元素。

系统能力: SystemCapability.Utils.Lang

返回值:

类型说明T返回第一个元素。

示例:

let vector = new Vector(); vector.add(2); vector.add(4); vector.add(5); vector.add(4); let result = vector.getFirstElement(); 123456 getLastElement

getLastElement(): T

获取Vector实例中的最后一个元素。

系统能力: SystemCapability.Utils.Lang

返回值:

类型说明T返回最后一个元素。

示例:

let vector = new Vector(); vector.add(2); vector.add(4); vector.add(5); vector.add(4); let result = vector.getLastElement(); 123456 getLastIndexFrom

getLastIndexFrom(element: T, index: number): number

从指定索引向后搜索,返回该元素的下标索引。

系统能力: SystemCapability.Utils.Lang

参数:

参数名类型必填说明elementT是要查找的元素。indexnumber是从指定索引开始搜索

返回值:

类型说明number返回该元素的下标,如果查找失败,则返回-1。

示例:

let vector = new Vector(); vector.add(2); vector.add(4); vector.add(5); vector.add(4); vector.add("a"); let result = vector.getLastIndexFrom(4,3); 1234567 getIndexFrom

getIndexFrom(element: T, index: number): number

从指定索引向前搜索,返回该元素的下标索引。

系统能力: SystemCapability.Utils.Lang

参数:

参数名类型必填说明elementT是要查找的元素。indexnumber是从指定索引开始搜索

返回值:

类型说明number返回该元素的下标,如果查找失败,则返回 -1。

示例:

let vector = new Vector(); vector.add(2); vector.add(4); vector.add(5); vector.add(4); vector.add("a"); let result = vector.getIndexFrom(4, 3); 1234567 setLength

setLength(newSize: number): void

设置Vector实例的元素个数。

系统能力: SystemCapability.Utils.Lang

参数:

参数名类型必填说明newSizenumber是设置的新长度。

示例:

let vector = new Vector(); vector.add(2); vector.add(4); vector.add(5); vector.add(4); vector.setLength(8); vector.setLength(2); 1234567 get

get(index: number): T

根据下标值获取Vector实例中的元素。

系统能力: SystemCapability.Utils.Lang

参数:

参数名类型必填说明indexnumber是查找的下标值。

返回值:

类型说明T返回获取到的元素。

示例:

let vector = new Vector(); vector.add(2); vector.add(4); vector.add(5); vector.add(4); let result = vector.get(2); 123456 set

set(index: number, element: T): T

将此Vector中指定位置的元素替换为指定元素。

系统能力: SystemCapability.Utils.Lang

参数:

参数名类型必填说明indexnumber是查找的下标值。elementT是用来替换的元素。

返回值:

类型说明 HarmonyOS与OpenHarmony鸿蒙文档籽料:mau123789是v直接拿T返回替换后的元素。

示例:

let vector = new Vector(); vector.add(2); vector.add(4); vector.add(5); vector.add(4); let result = vector.set(2, "A"); 123456 [Symbol.iterator]

Symbol.iterator: IterableIterator

返回一个迭代器,迭代器的每一项都是一个 JavaScrIPt 对象,并返回该对象。

系统能力: SystemCapability.Utils.Lang

返回值:

类型说明IterableIterator返回一个迭代器。

示例:

let vector = new Vector(); vector.add(2); vector.add(4); vector.add(5); vector.add(4); // 使用方法一: for (let item of vector) { console.log("value:" + item); } // 使用方法二: let iter = vector[Symbol.iterator](); let temp = iter.next().value; while(temp != undefined) { console.log("value:" + temp); temp = iter.next().value; }
123456789101112131415161718

Ongwu博客 版权声明:以上内容未经允许不得转载!授权事宜或对内容有异议或投诉,请联系站长,将尽快回复您,谢谢合作!

展开全文READ MORE
TikTok_APP(抖音海外版 Plugin v1.44) v35.5.4 去广告解除封锁版 Springboot项目-基于Java+MySQL的网上商城购物系统(附源码+论文+数据库)

游客 回复需填写必要信息