Структуры данных в 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.
Оглавление
- 1. Java – Самоучитель для начинающих
- 2. Java – Обзор языка
- 3. Java – Установка и настройка
- 4. Java – Синтаксис
- 5. Java – Классы и объекты
- 6. Java – Конструкторы
- 7. Java – Типы данных и литералы
- 8. Java – Типы переменных
- 9. Java – Модификаторы
- 10. Java – Операторы
- 11. Java – Циклы и операторы цикла
- 11.1. Java – Цикл while
- 11.2. Java – Цикл for
- 11.3. Java – Улучшенный цикл for
- 11.4. Java – Цикл do..while
- 11.5. Java – Оператор break
- 11.6. Java – Оператор continue
- 12. Java – Операторы принятия решений
- 12.1. Java – Оператор if
- 12.2. Java – Оператор if..else
- 12.3. Java – Вложенный оператор if
- 12.4. Java – Оператор switch..case
- 12.5. Java – Условный оператор (? :)
- 13. Java – Числа
- 13.1. Java – Методы byteValue(), shortValue(), intValue(), longValue(), floatValue(), doubleValue()
- 13.2. Java – Метод compareTo()
- 13.3. Java – Метод equals()
- 13.4. Java – Метод valueOf()
- 13.5. Java – Метод toString()
- 13.6. Java – Метод parseInt()
- 13.7. Java – Метод Math.abs()
- 13.8. Java – Метод Math.ceil()
- 13.9. Java – Метод Math.floor()
- 13.10. Java – Метод Math.rint()
- 13.11. Java – Метод Math.round()
- 13.12. Java – Метод Math.min()
- 13.13. Java – Метод Math.max()
- 13.14. Java – Метод Math.exp()
- 13.15. Java – Метод Math.log()
- 13.16. Java – Метод Math.pow()
- 13.17. Java – Метод Math.sqrt()
- 13.18. Java – Метод Math.sin()
- 13.19. Java – Метод Math.cos()
- 13.20. Java – Метод Math.tan()
- 13.21. Java – Метод Math.asin()
- 13.22. Java – Метод Math.acos()
- 13.23. Java – Метод Math.atan()
- 13.24. Java – Метод Math.atan2()
- 13.25. Java – Метод Math.toDegrees()
- 13.26. Java – Метод Math.toRadians()
- 13.27. Java – Метод Math.random()
- 14. Java – Символы
- 14.1. Java – Метод Character.isLetter()
- 14.2. Java – Метод Character.isDigit()
- 14.3. Java – Метод Character.isWhitespace()
- 14.4. Java – Метод Character.isUpperCase()
- 14.5. Java – Метод Character.isLowerCase()
- 14.6. Java – Метод Character.toUpperCase()
- 14.7. Java – Метод Character.toLowerCase()
- 14.8. Java – Метод Character.toString()
- 15. Java – Строки
- 15.1. Java – Метод charAt()
- 15.2. Java – Метод compareTo()
- 15.3. Java – Метод compareToIgnoreCase()
- 15.4. Java – Метод concat()
- 15.5. Java – Метод contentEquals()
- 15.6. Java – Метод copyValueOf()
- 15.7. Java – Метод endsWith()
- 15.8. Java – Метод equals()
- 15.9. Java – Метод equalsIgnoreCase()
- 15.10. Java – Метод getBytes()
- 15.11. Java – Метод getChars()
- 15.12. Java – Метод hashCode()
- 15.13. Java – Метод indexOf()
- 15.14. Java – Метод intern()
- 15.15. Java – Метод lastIndexOf()
- 15.16. Java – Метод length()
- 15.17. Java – Метод matches()
- 15.18. Java – Метод regionMatches()
- 15.19. Java – Метод replace()
- 15.20. Java – Метод replaceAll()
- 15.21. Java – Метод replaceFirst()
- 15.22. Java – Метод split()
- 15.23. Java – Метод startsWith()
- 15.24. Java – Метод subSequence()
- 15.25. Java – Метод substring()
- 15.26. Java – Метод toCharArray()
- 15.27. Java – Метод toLowerCase()
- 15.28. Java – Метод toString()
- 15.29. Java – Метод toUpperCase()
- 15.30. Java – Метод trim()
- 15.31. Java – Метод valueOf()
- 15.32. Java – Классы StringBuilder и StringBuffer
- 15.32.1. Java – Метод append()
- 15.32.2. Java – Метод reverse()
- 15.32.3. Java – Метод delete()
- 15.32.4. Java – Метод insert()
- 15.32.5. Java – Метод replace()
- 16. Java – Массивы
- 17. Java – Дата и время
- 18. Java – Регулярные выражения
- 19. Java – Методы
- 20. Java – Потоки ввода/вывода, файлы и каталоги
- 20.1. Java – Класс ByteArrayInputStream
- 20.2. Java – Класс DataInputStream
- 20.3. Java – Класс ByteArrayOutputStream
- 20.4. Java – Класс DataOutputStream
- 20.5. Java – Класс File
- 20.6. Java – Класс FileReader
- 20.7. Java – Класс FileWriter
- 21. Java – Исключения
- 21.1. Java – Встроенные исключения
- 22. Java – Вложенные и внутренние классы
- 23. Java – Наследование
- 24. Java – Переопределение
- 25. Java – Полиморфизм
- 26. Java – Абстракция
- 27. Java – Инкапсуляция
- 28. Java – Интерфейсы
- 29. Java – Пакеты
- 30. Java – Структуры данных
- 30.1. Java – Интерфейс Enumeration
- 30.2. Java – Класс BitSet
- 30.3. Java – Класс Vector
- 30.4. Java – Класс Stack
- 30.5. Java – Класс Dictionary
- 30.6. Java – Класс Hashtable
- 30.7. Java – Класс Properties
- 31. Java – Коллекции
- 31.1. Java – Интерфейс Collection
- 31.2. Java – Интерфейс List
- 31.3. Java – Интерфейс Set
- 31.4. Java – Интерфейс SortedSet
- 31.5. Java – Интерфейс Map
- 31.6. Java – Интерфейс Map.Entry
- 31.7. Java – Интерфейс SortedMap
- 31.8. Java – Класс LinkedList
- 31.9. Java – Класс ArrayList
- 31.10. Java – Класс HashSet
- 31.11. Java – Класс LinkedHashSet
- 31.12. Java – Класс TreeSet
- 31.13. Java – Класс HashMap
- 31.14. Java – Класс TreeMap
- 31.15. Java – Класс WeakHashMap
- 31.16. Java – Класс LinkedHashMap
- 31.17. Java – Класс IdentityHashMap
- 31.18. Java – Алгоритмы Collection
- 31.19. Java – Iterator и ListIterator
- 31.20. Java – Comparator
- 32. Java – Дженерики
- 33. Java – Сериализация
- 34. Java – Сеть
- 34.1. Java – Обработка URL
- 35. Java – Отправка Email
- 36. Java – Многопоточность
- 36.1. Java – Синхронизация потоков
- 36.2. Java – Межпоточная связь
- 36.3. Java – Взаимная блокировка потоков
- 36.4. Java – Управление потоками
- 37. Java – Основы работы с апплетами
- 38. Java – Javadoc