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 () при получении значений среды.
Для получения дополнительных сведений об этом классе см . Свойства .