Java - структуры данных

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

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

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

Перечисление

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

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

Чтобы получить более подробную информацию об этом интерфейсе, проверьте The Enumeration .

BitSet

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

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

Для получения дополнительных сведений об этом классе см . BitSet .

Вектор

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

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

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

Дополнительные сведения об этом классе см. В разделе «Вектор» .

Стек

Класс Stack реализует стек элементов в порядке очереди (LIFO).

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

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

Дополнительные сведения об этом классе см. В The Stack .

Словарь

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

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

Поскольку класс Dictionary является абстрактным, он предоставляет только основу для структуры данных с отображением клавиш, а не конкретную реализацию.

Дополнительные сведения об этом классе см. В словаре .

Хеш-таблица

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

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

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

Дополнительные сведения об этом классе см. В The Hashtable .

Свойства

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

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

Для получения дополнительных сведений об этом классе см . Свойства .