4Java.ru

Регистрация


Учебник для начинающих
Обзор языка
Установка и настройка
Синтаксис
Классы и объекты
Типы данных и литералы
Типы переменных
Модификаторы
Операторы
Циклы и операторы цикла
Цикл while
Цикл for
Улучшенный цикл for
Цикл do..while
Оператор break
Оператор continue
Операторы принятия решений
Оператор if
Оператор if..else
Вложенный оператор if
Оператор switch..case
Условный оператор (? :)
Числа
Методы byteValue(), shortValue(), intValue(), longValue(), floatValue(), doubleValue()
Метод compareTo()
Метод equals()
Метод valueOf()
Метод toString()
Метод parseInt()
Метод Math.abs()
Метод Math.ceil()
Метод Math.floor()
Метод Math.rint()
Метод Math.round()
Метод Math.min()
Метод Math.max()
Метод Math.exp()
Метод Math.log()
Метод Math.pow()
Метод Math.sqrt()
Метод Math.sin()
Метод Math.cos()
Метод Math.tan()
Метод Math.asin()
Метод Math.acos()
Метод Math.atan()
Метод Math.atan2()
Метод Math.toDegrees()
Метод Math.toRadians()
Метод Math.random()
Символы
Метод Character.isLetter()
Метод Character.isDigit()
Метод Character.isWhitespace()
Метод Character.isUpperCase()
Метод Character.isLowerCase()
Метод Character.toUpperCase()
Метод Character.toLowerCase()
Метод Character.toString()
Строки
Метод charAt()
Метод compareTo()
Метод compareToIgnoreCase()
Метод concat()
Метод contentEquals()
Метод copyValueOf()
Метод endsWith()
Метод equals()
Метод equalsIgnoreCase()
Метод getBytes()
Метод getChars()
Метод hashCode()
Метод indexOf()
Метод intern()
Метод lastIndexOf()
Метод length()
Метод matches()
Метод regionMatches()
Метод replace()
Метод replaceAll()
Метод replaceFirst()
Метод split()
Метод startsWith()
Метод subSequence()
Метод substring()
Метод toCharArray()
Метод toLowerCase()
Метод toString()
Метод toUpperCase()
Метод trim()
Метод valueOf()
Классы StringBuilder и StringBuffer
Метод append()
Метод reverse()
Метод delete()
Метод insert()
Метод replace()
Массивы
Дата и время
Регулярные выражения
Методы
Потоки ввода/вывода, файлы и каталоги
Класс ByteArrayInputStream
Класс DataInputStream
Класс ByteArrayOutputStream
Класс DataOutputStream
Класс File
Класс FileReader
Класс FileWriter
Исключения
Встроенные исключения
Вложенные и внутренние классы
Наследование
Переопределение
Полиморфизм
Абстракция
Инкапсуляция
Интерфейсы
Пакеты
Структуры данных
Интерфейс Enumeration
Класс BitSet
Класс Vector
Класс Stack
Класс Dictionary
Класс Hashtable
Класс Properties
Интерфейс Map

Структуры данных

Структуры данных в 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.

© 4Java.ru