Учебное пособие: Наследование и классы-коллекции
}
catch(Exception e){
System.out.println("Usage: Java PhoneBook Name");
}
return;
}
if (yp.containsKey(name))
System.out.println(name + "'s phone = " + yp.get(name));
else
System.out.println("Sorry, no such name");
)
}
Класс Properties
КлассPropertiesрасширяетклассHashtable. Он предназначен в основном для ввода и вывода пар свойств системы и их значений. Пары хранятся в виде строк типа String. В классе Properties два конструктора:
Properties() — создает пустой объект;
Properties (Properties default) — создает объект с заданными парами свойств default.
Кроме унаследованных от класса Hashtable методов в классе Properties есть еще следующие методы.
Два метода, возвращающих значение ключа-строки в виде строки:
• String getProperty (String key) — возвращаетзначениепоключуkey;
• String getProperty(String.key, String defaultValue) — возвращаетзначениепоключуkey; еслитакогоключанет, возвращаетсяdefaultValue.
Метод setProperty(String key, String value) добавляет новую пару, если ключа key нет, и меняет значение, если ключ key есть.
Метод load(Inputstream in) загружает свойства из входного потока in.
Методы list(PrintStream out) И list (PrintWriter out) выводят свойства в выходной поток out.
Метод store (OutputStream out, String header) выводит свойства в выходной поток out с заголовком header.
Рисунок. Иерархия классов и интерфейсов-коллекций.
Примеры классов Vector, Stack, Hashtable, Properties показывают удобство классов-коллекций. Поэтому в Java 2 разработана целая иерархия коллекций. Она показана на рисунке. Справа записаны имена интерфейсов. Стрелки указывают классы, реализующие эти интерфейсы. Все коллекции разбиты на три группы, описанные в интерфейсах List, Set и Map.
Примером реализации интерфейса List может служить класс Vector, примером реализации интерфейса мар — класс Hashtable.
Коллекции List и Set имеют много общего, поэтому их общие методы объединены и вынесены в суперинтерфейс Collection.
Интерфейс Collection
Интерфейс collection из пакета java.util описывает общие свойства коллекций List и Set. Он содержит методы добавления и удаления элементов, проверки и преобразования элементов: