Java - 数据结构(Data Structures)
Java实用程序包提供的数据结构非常强大,可以执行各种功能。 这些数据结构由以下接口和类组成 -
- Enumeration
- BitSet
- Vector
- Stack
- Dictionary
- Hashtable
- Properties
所有这些类现在都是遗留的,Java-2引入了一个名为Collections Framework的新框架,将在下一章中讨论。 -
枚举
Enumeration接口本身不是数据结构,但在其他数据结构的上下文中非常重要。 Enumeration接口定义了一种从数据结构中检索连续元素的方法。
例如,Enumeration定义了一个名为nextElement的方法,该方法用于获取包含多个元素的数据结构中的下一个元素。
要获得有关此接口的更多详细信息,请选中“枚举” 。
BitSet
BitSet类实现一组可以单独设置和清除的位或标志。
在需要跟上一组布尔值的情况下,此类非常有用; 您只需为每个值分配一个位,并根据需要设置或清除它。
有关此类的更多详细信息,请检查BitSet 。
矢量
Vector类与传统的Java数组类似,只是它可以根据需要增长以容纳新元素。
像数组一样,Vector对象的元素可以通过向量的索引访问。
使用Vector类的好处是,您不必担心在创建时将其设置为特定大小; 它会在必要时自动收缩和增长。
有关此类的更多详细信息,请查看Vector 。
堆栈
Stack类实现了后进先出(LIFO)元素堆栈。
您可以将堆栈视为垂直堆栈对象; 当您添加新元素时,它会堆叠在其他元素之上。
当您从堆栈中拉出一个元素时,它会从顶部脱落。 换句话说,您添加到堆栈的最后一个元素是第一个返回的元素。
有关此类的更多详细信息,请查看The Stack 。
词典
Dictionary类是一个抽象类,它定义了将键映射到值的数据结构。
这在您希望能够通过特定键而不是整数索引访问数据的情况下非常有用。
由于Dictionary类是抽象的,因此它仅为键映射数据结构而不是特定实现提供框架。
有关此类的更多详细信息,请查看“词典” 。
哈希表
Hashtable类提供了一种基于某些用户定义的键结构组织数据的方法。
例如,在地址列表哈希表中,您可以根据密钥(例如邮政编码)而不是人名来存储和排序数据。
关于散列表的密钥的具体含义完全取决于散列表的使用及其包含的数据。
有关此类的更多详细信息,请选中The Hashtable 。
属性
Properties是Hashtable的子类。 它用于维护键的列表,其中键是String,值也是String。
许多其他Java类使用Properties类。 例如,它是获取环境值时System.getProperties()返回的对象类型。
有关此类的更多详细信息,请选中“属性” 。