Структуры данных в Java, предоставленные в пакете утилит, очень мощные и выполняют широкий спектр функций. Эти структуры данных состоят из следующего интерфейса и классов:

  • Enumeration
  • BitSet
  • Vector
  • Stack
  • Dictionary
  • Hashtable
  • Properties

Все эти классы теперь являются устаревшими, а Java 2 представила новую структуру под названием Collections Framework, о которой мы поговорим в следующем уроке.

Интерфейс Enumeration

Интерфейс Enumeration сам по себе не является структурой данных, но он очень важен в контексте других структур данных. Интерфейс Enumeration определяет средства для извлечения последовательных элементов из структуры данных.

Например, Enumeration определяет метод под названием nextElement, который используется для получения следующего элемента в структуре данных, содержащей несколько элементов.

Чтобы узнать больше об этом интерфейсе, прочитайте главу интерфейс Enumeration.

Класс BitSet

Класс BitSet реализует группу битов или флажков, которые могут быть установлены и очищены отдельно.

Этот класс очень полезен в тех случаях, когда вам нужно идти в ногу с набором логических значений; вы просто назначаете бит каждому значению и устанавливаете или очищаете его по мере необходимости.

Чтобы узнать больше об этом классе, прочитайте главу класс BitSet.

Класс Vector

Класс Vector похож на традиционный массив Java, за исключением того, что он может расти по мере необходимости для размещения новых элементов.

Подобно массиву, доступ к элементам объекта Vector можно получить через индекс в вектор.

Хорошая вещь в использовании класса Vector заключается в том, что вам не нужно беспокоиться о настройке его на конкретный размер при создании; он сжимается и растет автоматически, когда это необходимо.

Чтобы узнать больше об этом классе, прочитайте главу класс Vector.

Класс Stack

Класс Stack реализует last-in-first-out (LIFO) стек элементов.

Вы можете думать о стеке как о пирамидке: когда вы добавляете новый элемент, он складывается поверх других.

Когда вы достаёте элемент из стека, он выходит из вершины. Иными словами, последний добавленный элемент к стеку будет первым вышедшим из него.

Чтобы узнать больше об этом классе, прочитайте главу класс Stack.

Класс Dictionary

Класс Dictionary является абстрактным классом, который определяет структуру данных для сопоставления ключей со значениями.

Это полезно для случаев, когда вы хотите получить доступ к данным через конкретный ключ вместо целочисленного индекса.

Так как класс Dictionary абстрактный, он предоставляет только фреймворк для структуры данных с сопоставленными ключами, а не конкретной реализации.

Чтобы узнать больше об этом классе, прочитайте главу класс Dictionary.

Класс Hashtable (хэш-таблица)

Класс Hashtable предоставляет способы организации данных, основываясь на ключевую структуру, определённую пользователем.

Например, в списке адресов хэш-таблицы вы можете размещать и сортировать данные с ключом, основывающийся по почтовому индексу, а не по имени человека.

Конкретное значение ключей в хэш-таблице полностью зависит от хэш-таблицы и от данных, которые она содержит.

Чтобы узнать больше об этом классе, прочитайте главу класс Hashtable.

Класс Properties

Properties – это подкласс Hashtable. Он используется для хранения списков значений, в которых ключ является String, а значение также является String.

Класс Properties используется множеством других Java классов. Например, это тип объекта, возвращаемый System.getProperties( ), когда тот получает внешние значения.

Чтобы узнать больше об этом классе, прочитайте главу класс Properties.

Оглавление