简述Java编程语言对象的容纳
如果一个程序只含有数量固定的对象,而且已知它们存在的时间,那这个程序是相当简单的。
数组
容纳对象有很多方式,数组是其中最为普遍的一种,它主要有如下两个特点:效率和类型。对于Java来说,为保存和访问一系列对象(实际是对象的句柄),最有效率的方法莫过于数组。数组实际是一个简单的线性序列,因此访问速度非常的快,但是它也存在一些限制,如数组的大小是固定的,并且不可以在“存在时间”内发生改变。
对于基本数据类型构成的数组,其运作类型跟对象数组相似,所不同的是前者里面保存的不是对象的句柄,而是实际的数值。
集合
编程的时候,通常不知道究竟需要保存多少对象,有时甚至想用更复杂的方式来保存对象,为解决这样的问题,Java提供了几种“集合类”:Vector(矢量),BitSet(位集),Stack(堆栈)以及HashTable(散列表)。
集合的缺点:丢失了类型信息。它容纳的实际上是类型为Object的对象的句柄。
枚举器(迭代器)
用集合保存对象后再访问,需要事先知道集合中对象的准确类型,否则使用的过程中会出异常。而迭代器可以解决这个问题。迭代器是一个对象,其作用是遍历一系列对象,并选择那个序列中的每个对象,同时不让客户程序员知道或关注那个序列的基础结构。
Java中的Enumeration就是一个典型的迭代器,主要用来干如下事情:
(1)用一个名为Elements的方法要求集合为我们提供一个Enumeration,首次调用其NextElements时,这个Enumeration会返回序列中的第一个元素。
(2)用NextElements获取下一个对象。
(3)用HasMoreElements检查是否有更多的对象。
集合的类型:
1. Vector
Vector 类可实现可增长的对象数组。与数组一样,它包含可以使用整数索引进行访问的组件。但是,Vector 的大小可以根据需要增大或缩小,以适应创建 Vector 后进行添加或移除项的操作。
2. BitSet
BitSet实际是由“二进制位”构成的一个Vector。如果希望高效率地保存大量“开-关”信息,就应使用BitSet。位set 的每个组件都有一个 boolean 值。用非负的整数将 BitSet 的位编入索引。可以对每个编入索引的位进行测试、设置或者清除。通过逻辑与、逻辑或和逻辑异或操作,可以使用一个 BitSet 修改另一个 BitSet 的内容。 默认情况下,set 中所有位的初始值都是 false。
3. Stack
Stack也称为“后入先出”集合。Java中的Stack类继承自Vector类,它通过五个操作对类 Vector 进行了扩展 ,允许将向量视为堆栈。它提供了通常的 push 和 pop 操作,以及取堆栈顶点的 peek 方法、测试堆栈是否为空的 empty 方法、在堆栈中查找项并确定到堆栈顶距离的 search 方法。
4. HashTable
哈希表是一种重要的存储方式,也是一种常见的检索方法。其基本思想是将关系码的值作为自变量,通过一定的函数关系计算出对应的函数值,把这个数值解释为结点的存储地址,将结点存入计算得到存储地址所对应的存储单元。检索时采用检索关键码的方法。现在哈希表有一套完整的算法来进行插入、删除和解决冲突。在Java中哈希表用于存储对象,实现快速检索。
总结
以上所述就是本文关于Java编程中对象的容纳的全部介绍,希望对大家有所帮助。
详细实例可以参考:Java编程思想对象的容纳实例详解
相关文章
解决Eclipse打开.java文件异常,提示用系统工具打开的问题
这篇文章主要介绍了解决Eclipse打开.java文件异常,提示用系统工具打开的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2021-01-01Flutter ListView 上拉加载更多下拉刷新功能实现方法
这篇文章主要介绍了Flutter ListView 上拉加载更多下拉刷新功能实现方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下2019-07-07Java的StringBuilder在高性能场景下的正确用法
StringBuilder 对字符串的操作是直接改变字符串对象本身,而不是生成新的对象,所以新能开销小.与StringBuffer相比StringBuilder的性能略高,StringBuilder则没有保证线程的安全,从而性能略高于StringBuffer,需要的朋友可以参考下2023-05-05Java中Collection集合常用API之 Collection存储自定义类型对象的示例代码
Collection是单列集合的祖宗接口,因此它的功能是全部单列集合都可以继承使用的,这篇文章主要介绍了Java中Collection集合常用API - Collection存储自定义类型对象,需要的朋友可以参考下2022-12-12
最新评论