CLDC 1.1中的java.util比java se的java.util包简化很多。
以下是该包的类列表:Calendar, Date, Hashtable, Random, Stack, TimeZone, Vector。
其中不少包无论在SE或者EE中都很常用。
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的效率据说还是相当高的。
分享到:
相关推荐
- CLDC 1.1的核心类库包括java.lang、java.io、java.util等基本包,这些包的源码提供了基础的编程接口,如对象操作、I/O流处理和集合框架。开发者可以通过源码学习这些API的具体实现。 5. **网络与连接** - 在...
- `java.util.Calendar`, `java.util.Date`(缺少功能) **MIDP(Mobile Information Device Profile)** - **定义** - MIDP是位于CLDC之上的更高层次的Java ME规范,提供了更丰富的API集合。 - 支持图形用户...
例如,CLDC1.1引入了对Unicode的支持,CLDC1.3则增加了对垃圾回收的改进。同时,MIDP也在不断迭代,提供更丰富的用户界面和应用程序接口。 总结来说,CLDC1.0a规范是Java在资源受限设备上运行的关键,它定义了最小...
"Foundation Profile 1.1 Reference Implementation (JSR-219)" 是Java Micro Edition (Java ME)平台的一个重要组成部分,它定义了一套基础功能,旨在为小型设备和嵌入式系统提供精简但完整的Java环境。Java ME是...
util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印一般格式是gif,png,这种图片可以设置透明度、水印旋转等,可以参考代码...
随着技术的发展,CLDC1.1 添加了浮点运算支持。 **MIDP** MIDP 与 CLDC 结合使用,提供了构建 J2ME 应用程序所需的环境。MIDP 提供了用户界面组件和网络功能,使得开发者可以创建具有图形界面和联网能力的移动应用...
util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印一般格式是gif,png,这种图片可以设置透明度、水印旋转等,可以参考代码...
鉴于这些严格的限制条件,CLDC仅包含四个包,其中三个来自标准Java规范并进行了缩减处理(`java.lang`、`java.util`和`java.io`),而另一个包`javax.microedition`则专门为CLDC定制。具体来说,这些包及其功能如下...
util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印一般格式是gif,png,这种图片可以设置透明度、水印旋转等,可以参考代码...
例如,可以通过`java.util.jar.JarFile`类的`getManifest()`方法来访问MANIFEST文件: ```java JarFile jar = new JarFile("path/to/your.jar"); Manifest manifest = jar.getManifest(); Attributes attributes = ...
Java数组倒置 简单 Java图片加水印,支持旋转和透明度设置 摘要:Java源码,文件操作,图片水印 util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印...
util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印一般格式是gif,png,这种图片可以设置透明度、水印旋转等,可以参考代码...
Java数组倒置 简单 Java图片加水印,支持旋转和透明度设置 摘要:Java源码,文件操作,图片水印 util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印...
CLDC1.1进一步扩展了基础类库,增加了java.lang.ref。 2. Mobile Information Device Profile (MIDP):建立在CLDC之上,定义了应用程序的生命周期管理、用户图形界面(GUI)以及数据管理服务。MIDP提供了一个标准...
- **Java.util**:提供工具类和集合框架。 - **Javax.microedition.io**:通用连接框架,用于网络通信。 **MIDP** 包则提供了以下关键功能: - **Javax.microedition.middlet**:包含MIDlet类,所有MIDlet都继承自...
CLDC1.1相较于1.0增加了浮点运算的支持。 MIDP(Mobile Information Device Profile)是与CLDC配合使用的,它为J2ME应用程序提供了一个运行环境。MIDP包含了MIDlet,这是J2ME应用程序的基本单元。MIDlet有三个关键...
CLDC 1.1 版本引入了对标准Java IO包的支持,这意味着开发者可以使用与J2SE相似的I/O操作,但这些实现针对的是小型设备的限制。`java.io`包提供了诸如`InputStream`, `OutputStream`, `File`, `Reader`, `Writer`等...
CLDC1.1引入了对浮点运算的支持,但考虑到大部分老旧设备仍使用CLDC1.0,开发者需要寻找替代方案。MathFP库便是一个理想的选择,它专为J2ME环境设计,提供高效、稳定的定点小数运算功能,且占用空间极小。 MathFP库...
在CLDC1.1中,又增加了java.lang.ref支持。 3. **Mobile Information Device Profile (MIDP)**: 建立在CLDC之上,MIDP提供了应用程序的生命周期管理、用户界面UI组件和数据管理服务。它定义了如何在受限设备上...