Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

30.01. Java – Фреймворк коллекций




Методы

Помимо методов, определённых Hashtable, Properties определяет следующие методы:

Метод и описание
String getProperty(String key) Возвращает значение, связанное с ключом. Возвращается нулевой объект, если ключ не находится ни в списке, ни в списке свойств по умолчанию.
String getProperty(String key, String defaultProperty) Возвращает значение, связанное с ключом; Возвращается defaultProperty, если ключ не находится ни в списке, ни в списке свойств по умолчанию.
void list(PrintStream streamOut) Отправляет список свойств в выходной поток, связанный с streamOut.
void list(PrintWriter streamOut) Отправляет список свойств в выходной поток, связанный с streamOut.
void load(InputStream streamIn) throws IOException Вводит список свойств из входного потока, связанного с streamIn.
Enumeration propertyNames() Возвращает перечисление ключей, включая ключи, найденные в списке свойств по умолчанию.
Object setProperty(String key, String value) Связывает значение с ключом. Возвращает предыдущее значение, связанное с ключом, или возвращает ноль, если такой связи не существует.
void store(OutputStream streamOut, String description) После записи строки, указанной в описании, список свойств записывается в выходной поток, связанный с streamOut.

Пример

Следующая программа показывает несколько методов, поддерживаемых этой структурой данных:

import java. util. *; public class PropDemo { public static void main(String args[]) { Properties capitals = new Properties(); Set states; String str;       capitals. put(" Иллинойс", " Спрингфилд" ); capitals. put(" Миссури", " Джефферсон-Сити" ); capitals. put(" Вашингтона", " Олимпия" ); capitals. put(" Калифорнии", " Сакраменто" ); capitals. put(" Индианы", " Индианаполис" ); // Показывает все штаты и столицы в хэш-таблицы. states = capitals. keySet(); // Получить набор ключей Iterator itr = states. iterator();       while(itr. hasNext()) {    str = (String) itr. next();     System. out. println(" Столицей " + str + " является " +             capitals. getProperty(str) + ". " ); }       System. out. println(); // При нахождении штата вне списка –– указать значение по умолчания. str = capitals. getProperty(" Флорида", " Не Найдена" ); System. out. println(" Столица Флориды " + str + ". " ); }}

Получим следующее:

Столицей Миссури является Джефферсон-Сити. Столицей Иллинойс является Спрингфилд. Столицей Индианы является Индиана полис. Столицей Калифорнии является Сакраменто. Столицей Вашингтона является Олимпия. Столица Флориды Не Найдена.

30. 01. Java – Фреймворк коллекций

Вплоть до Java 2, Java предоставляла особые классы, такие как Dictionary, Vector, Stack, и Properties для хранения и управления группами объектов. Хоть эти классы были полезными, им не хватало центральной, объединяющей тематики. Именно поэтому то, как вы использовали Vector отличается от того, как вы использовали Properties.

Структура коллекций в Java была создана для того чтобы удовлетворять таким целям, как:

· Фреймворк должен быть высокопроизводительным. Реализации фундаментальных коллекций (динамические массивы, связанные списки, деревья и хэш-таблицы) должны быть высокоэффективными.

· Фреймворк должен позволять разным типам коллекций работать аналогичным образом и с высокой степенью совместимости.

· Фреймворк должен уметь расширяться и/или легко адаптировать коллекцию

С этой целью вся структура коллекций разработана вокруг набора стандартных интерфейсов. Несколько стандартных реализаций типа LinkedList, HashSet, и TreeSet из этих интерфейсов предоставляются таким образом, что вы можете их использовать «как есть» или можете реализовать свою собственную коллекцию по вашему выбору.

Фреймворк коллекций – это объединённая архитектура для представления и управления коллекциями. Все структуры коллекций содержат в себе следующее:

· Интерфейсы – это абстрактные типы данных, которые представляют коллекции. Интерфейсы позволяют управлять коллекциями вне зависимости от деталей их представления. В объектно-ориентированных языках интерфейсы обычно формируют иерархию.

· Реализации, т. e. классы – Это конкретные реализации интерфейсов коллекций. По сути, они являются структурными данных, которые можно многократно использовать.

· Алгоритмы – это методы, которые выполняют полезные вычисления с объектами, которые реализуют интерфейсы коллекций, например поиск и сортировку. Алгоритмы считаются полиморфными, то есть один и тот же метод может быть использован во множестве различных реализаций соответствующего интерфейса коллекций.

Помимо коллекций, фреймворк определяет некоторые интерфейсы и классы карт. Карты хранят пары ключ/значение. Хоть карты не являются коллекциями в обычном их понимании, но они полностью интегрированы с коллекциями.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...