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