J2ME数据结构中Hashtable和Vector的使用
创始人
2024-07-15 07:31:31
0

J2ME中的数据结构大多都用轻量级的Hashtable和Vector,这里和大家分享一下它们的具体用法,当需要往Hashtable中装入很多实体时,创建一个合适大容量的Hashtable实例比让实例去自动增加来容量来适应要在性能上高的多。

J2ME中的Hashtable和Vector

J2ME中的数据结构大多都用轻量级的Hashtable和Vector.

1.Hashtable

ME版本的Hashtable和SE版本的***的区别是泛型的支持,前者本身不支持泛型。但是也有些细微的差别。
Hashtable(以下都是指ME版本的Hashtable)将键(key)映射到值(value)上。任何非空(non-null)的对象都可以被用作一个key或者作为一个值。

Hashtable实例有两个参数影响其效率:容量和装载因子。装载因子在CLDC实现中始终是75%(而在其它版本中这个值是可以指定的)。当Hashtable中包含的实体数超过装载因子和当前容量的一个结合值(这可能通过相应的算法得出)时,就通过调用rehash方法来增加容量。
当需要往Hashtable中装入很多实体时,创建一个合适大容量的Hashtable实例比让实例去自动增加来容量来适应要在性能上高的多。

2.Vector

Vector类实现了一个可增的对象数组。像数组一样,它包含的组件可以用整数索引(下表)来访问。因此,当Vector创建之后,一个Vector的大小可以随着增加或者移除元素操作而增大或者减小。

每个Vector试着通过维持一个容量(capacity)和一个容量增量(capacityIncrement)来优化存储管理。容量总是至少跟Vector的大小(size)一样大;它通常都会大一些,因为组件会被加进到Vector中,Vector的存储大小会以capacityIncrement块大小来增加。应用程序可以在插入大量组件之前对Vector容量进行增加;这样做可以降低增加性重新分配的数量。

数据结构中我们学习过链表、数组、树等诸多数据结构。Hashtable就是一种底层由链表实现的数据结构,所以它拥有链表数据结构的优缺点。而Vector由数据结构比较特殊的数组来实现,同样拥有了数组的优缺点,不同的时,由于在数组基础之上增加的可变的操作,这样一定程度上降低了它的效率。不过Vector的效率据说还是相当高的。

【编辑推荐】

  1. J2ME可选包—PIM用法详解
  2. 技术分享 用OTA下载本机J2ME程序至手机
  3. 调用Netbeans IDE集成Motorola J2ME SDK5.4.2
  4. MotorolaJ2ME开发时需要注意的几个细节
  5. Java2平台J2SE、J2EE、J2ME三大版本的区别

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...