Класс Vector
Класс Vector
В классе vector
из пакета java.uti i хранятся элементы типа object , а значит, любого типа. Количество элементов может быть любым и наперед не определяться. Элементы получают...
Класс Stack
Класс Stack
Класс stack
из пакета java.utii. объединяет элементы в стек.
Стек ( stack)
реализует порядок работы с элементами подобно магазину винтовки— первым выстрелит патрон, положенн...
Листинг 6 2 показывает как можно
Листинг 6.2 показывает, как можно использовать стек для проверки парности символов....
Листинг 6 2 Проверка парности скобок
Листинг 6.2. Проверка парности скобок
import java.utii.*;
class StackTesti
static boolean checkParity(String expression,
&...
Класс Hashtable
Класс Hashtable
Класс Hashtable
расширяет абстрактный класс Dictionary . В объектах этого класса хранятся пары "ключ — значение".
Из таких пар "Фамилия И. О. — номер"...
Как создать таблицу
Как создать таблицу
Для создания объектов класс
Hashtable предоставляет четыре конструктора:
Hashtable
() — создает пустой объект с начальной емкостью в 101 элемент и показателем загруж...
Как заполнить таблицу
Как заполнить таблицу
Для заполнения объекта класса
Hashtable используются два метода:
Object put(Object key, Object value)
— добавляет пару " key— value ", если ключа key...
Как получить значение по ключу
Как получить значение по ключу
Метод get (Object key) возвращает значение элемента с ключом key
в виде объекта класса object . Для дальнейшей работы его следует преобразовать к конкретно...
Как узнать наличие ключа или значения
Как узнать наличие ключа или значения
Логический метод
containsKey(object key) возвращает true , если в таблице есть ключ key .
Логический метод
containsvalue (Object value) или старый...
Как получить все элементы таблицы
Как получить все элементы таблицы
Метод values
() представляет все значения value таблицы в виде интерфейса
Collection . Все модификации в объекте
collection изменяют таблицу, и наоборо...
Как удалить элементы
Как удалить элементы
Метод remove (Object key) удаляет пару с ключом key , возвращая значение этого ключа, если оно есть, и null , если пара с ключом
key не найдена.
Метод clear
о уд...
Листинг 6 3 Телефонный справочник
Листинг 6.3. Телефонный справочник
import java.util.*;
class PhoneBook{
public static void main(String[] args){
Hashtabie yp = new Hashtabie();
String name = null;&n...
Работа с телефонной книгой
Рисунок 6.1. Работа с телефонной книгой ...
Класс
Класс
Properties
Класс ' Properties
расширяет класс Hashtabie . Он предназначен в основном для ввода и вывода пар свойств системы и их значений. Пары хранятся в виде строк типа string . В...
Листинг 6 4 Вывод системных свойств
Листинг 6.4.
Вывод системных свойств
class Prop{
public static void main(String[] args){
System.getProperties().list(System.out);
}
}
Примеры классо...
Системные свойства
Рисунок 6.2. Системные свойства...
Иерархия классов и интерфейсовколлекций
Рисунок 6.3. Иерархия классов и интерфейсов-коллекций
Примером реализации интерфейса
List может служить класс Vector , примером реализации интерфейса мар — класс Hashtabie .
Коллекции List...
Интерфейс Collection
Интерфейс Collection
Интерфейс collection
из пакета java.util описывает общие свойства коллекций
List и set . Он содержит методы добавления и удаления элементов, проверки и преобразован...
Как создать вектор
Как создать вектор
В классе четыре конструктора:
vector ()
— создает пустой объект нулевой длины;
Vector (int capacity) —
создает пустой объект указанной емкости capacity ;
vector (...
Интерфейс
Интерфейс
List
Интерфейс List
из пакета java.utii, расширяющий интерфейс collection , описывает методы работы с упорядоченными коллекциями. Иногда их называют последовательностями
(sequ...
Интерфейс Set
Интерфейс Set
Интерфейс set
из пакета java.utii, расширяющий интерфейс Collection , описывает неупорядоченную коллекцию, не содержащую повторяющихся элементов. Это соответствует математич...
Интерфейс SortedSet
Интерфейс SortedSet
Интерфейс sortedset
из пакета java.utii, расширяющий интерфейс
Set, описывает упорядоченное множество, отсортированное по естественному порядку возрастания его элемен...
Интерфейс Map
Интерфейс Map
Интерфейс Map
из пакета java.utii описывает коллекцию, состоящую из пар "ключ — значение". У каждого ключа только одно значение, что соответствует математическому...
Вложенный интерфейс Map Entry
Вложенный интерфейс Map.Entry
Этот интерфейс описывает методы работы с парами, полученными методом entrySet():
методы g etKey() и getvaiue() позволяют получить ключ и значение пары; метод...
Интерфейс SortedMap
Интерфейс SortedMap
Интерфейс SortedMap , расширяющий интерфейс Map , описывает упорядоченную по ключам коллекцию мар. Сортировка производится либо в естественном порядке возрастания ключей...
Абстрактные классыколлекции
Абстрактные классы-коллекции
Эти классы лежат в пакете
java.util,
Абстрактный класс AbstractGollection
.реализует интерфейс Collection , но оставляет нереализованными методы iterator...
Интерфейс Iterator
Интерфейс Iterator
В 70—80-х годах прошлого столетия, после того как была осознана важность правильной организации данных в определенную структуру, большое внимание уделялось изучению' и' По...
Листинг 6 5 Использование итератора вектора
Листинг 6.5. Использование итератора вектора
Vector v = new Vector();
String s = "Строка, которую мы хотим разобрать на слова.";
StringTokenizer st = new StringTokeni...
Интерфейс Listlterator
Интерфейс Listlterator
Интерфейс Listiterator
расширяет интерфейс iterator , обеспечивая перемещение по коллекции как в прямом, так и в обратном направлении. Он может быть реализова...
Классы создающие списки
Классы, создающие списки
Класс ArrayList
полностью реализует интерфейс List и итератор типа
iterator . Класс ArrayList очень похож на класс Vector,имеет тот же набор методов и може...
Как добавить элемент в вектор
Как добавить элемент в вектор
Метод add (Object element) позволяет добавить элемент в конец вектора
( то же делает старый метод
addElement (Object element) .
Методом add (int index, Obj...
Двунаправленный список
Двунаправленный список
Класс LinkedList
полностью реализует интерфейс List и содержит дополнительные методы, превращающие его в двунаправленный список. Он реализует итераторы типа
itera...
Классы создающие отображения
Классы, создающие отображения
Класс например полностью реализует интерфейс Map , а также итератор типа iterator . Класс HashMap очень похож на класс Hashtabie
и может использоваться в те...
Упорядоченные отображения
Упорядоченные отображения
Класс ТгееМар
полностью реализует интерфейс sortedMap . Он реализован как бинарное дерево поиска, значит его элементы хранятся в упорядоченном виде. Это з...
Сравнение элементов коллекций
Сравнение элементов коллекций
Интерфейс Comparator
описывает два метода сравнения:
int compare (Object obji, object obj2
) — возвращает отрицательное число, если objl в каком-то смысл...
Листинг 6 6 показывает один из
Листинг 6.6 показывает один из возможных способов упорядочения комплексных чисел — объектов класса complex из листинга 2.4. Здесь описывается класс ComplexCompare , реализующий интерфейс Compar...
Листинг 6 6 Сравнение комплексных чисел
Листинг 6.6. Сравнение комплексных чисел
import java.util.*;
class ComplexCompare implements Comparator{
public int compare(Object objl, Object obj2){
Complex zl = (...
Классы создающие множества
Классы, создающие множества
Класс HashSet
полностью реализует интерфейс set и итератор типа iterator . Класс Hashset используется в тех случаях, когда надо хранить только одну копию каж...
Упорядоченные множества
Упорядоченные множества
Класс TreeSet
полностью реализует интерфейс sortedset и итератор типа
iterator . Класс TreeSet реализован как бинарное дерево поиска, значит, его элементы хранят...
Листинг 6 7 Хранение комплексных чисел в упорядоченном виде
Листинг 6.7. Хранение комплексных чисел в упорядоченном виде
TreeSet ts = new TreeSet (new ComptexCompare());
ts.add(new Complex(1.2, 3.4));
ts. add (new Complex (-1.25, 33....
Ействия с коллекциями
ействия с коллекциями
Коллекции предназначены для хранения элементов в удобном для дальнейшей обработки виде. Очень часто обработка заключается в сортировке элементов и поиске нужного элемен...
Методы класса Collections
Методы класса Collections
Все методы класса
collections статические, ими можно пользоваться, не создавая экземпляры классу C
ollections
Как обычно в статических мет...
Заключение
Заключение
Итак, в данной главе мы выяснили, что язык Java предоставляет множество средств для работы с большими объемами информации. В большинстве случаев достаточно добавить в программу три...
Как заменить элемент
Как заменить элемент
Метод set (int index, object element) заменяет элемент, стоявший в векторе в позиции index , на элемент element (то же позволяет выполнить старый
метод setElementAt...
Как узнать размер вектора
Как узнать размер вектора
Количество элементов в векторе всегда можно узнать методом size (). Метод capacity
о возвращает емкость вектора.
Логический метод isEmpty () возвращает true ,...
Как обратиться к элементу вектора
Как обратиться к элементу вектора
Обратиться к первому элементу вектора можно методом firstEiement () , к последнему — методом
lastEiement () , к любому элементу — методом get (int index...
Как узнать есть ли элемент в векторе
Как узнать, есть ли элемент в векторе
Логический метод
contains (object element) возвращает true , если элемент element находится в векторе.
Логический метод
containsAii (Collection с)...
Как узнать индекс элемента
Как узнать индекс элемента
Четыре метода позволяют отыскать позицию указанного элемента element:
indexof (Object element)
— возвращает индекс первого появления элемента в векторе;
ind...
Как удалить элементы
Как удалить элементы
Логический метод
remove (Object element) удаляет из вектора первое вхождение указанного элемента element . Метод возвращает true , если элемент найден и удаление произ...
Листинг 6 1 расширяет листинг
Листинг 6.1 расширяет листинг 5.2, обрабатывая выделенные из строки слова с помощью вектора.
...
Листинг 6 1 Работа с вектором
Листинг 6.1. Работа с вектором
Vector v = new Vector();
String s = "Строка, которую мы хотим разобрать на слова.";
StringTokenizer st = new StringTokenizer(s, "...