java.util.pptx
- Количество слайдов: 33
Стандартная библиотека Java: пакет java. util
Содержание Работа с датами и временем Интерфейс Observer и класс Observable Коллекции Класс Properties Интерфейс Comparator Класс Arrays Класс String. Tokenizer Класс Bit. Set Класс Random Локализация
Работа с датами и временем Класс Date (набор функций для работы с датой) Конструктор Date() создает экземпляр, соответствующий текущему моменту. Конструктор Date(long date) принимает в качестве параметра значение типа long, указывающее на количество миллисекунд, прошедших с 1 января 1970 г. , 00: 00 по Гринвичу. Метод compare. To(Date another. Date) возвращает значение типа int, которое равно -1, если дата меньше сравниваемой, 1 - если больше и 0 - если даты равны. Метод to. String() возвращает строковое описание даты. К содержанию
Работа с датами и временем Классы Calendar и Gregorian. Calendar является абстрактным классом и обеспечивает набор методов, позволяющих манипулировать различными "частями" даты, т. е. получать и устанавливать дни, месяцы, недели и т. д. Метод set(int field, int value) производит установку какого-либо поля даты. Метод add(int field, int amount) добавляет некоторое смещение к существующей величине поля. Метод roll(int field, int amount) добавляет некоторое смещение к существующей величине поля и не производит изменения старших полей. К содержанию
Метод set() package divine; import java. util. *; import java. text. *; public class Divine{ public static void main(String[] args) { Simple. Date. Format sdf = new Simple. Date. Format("yyyy MMMM dd HH: mm: ss"); Calendar cal = Calendar. get. Instance(); cal. set(Calendar. YEAR, 2013); cal. set(Calendar. MONTH, Calendar. MARCH); cal. set(Calendar. DAY_OF_MONTH, 31); System. out. println(" Initialy set date: " + sdf. format(cal. get. Time())); cal. set(Calendar. MONTH, Calendar. APRIL); System. out. println(" Date with month changed : " + sdf. format(cal. get. Time())); cal. set(Calendar. DAY_OF_MONTH, 30); System. out. println(" Date with day changed : " + sdf. format(cal. get. Time())); } }
Метод add() package divine; import java. util. *; import java. text. *; public class Divine{ public static void main(String[] args) { Simple. Date. Format sdf = new Simple. Date. Format("yyyy MMMM dd HH: mm: ss"); Calendar cal = Calendar. get. Instance(); cal. set(Calendar. YEAR, 2013); cal. set(Calendar. MONTH, Calendar. APRIL); cal. set(Calendar. DAY_OF_MONTH, 22); cal. set(Calendar. HOUR_OF_DAY, 17); cal. set(Calendar. MINUTE, 49); cal. set(Calendar. SECOND, 10); System. out. println("Current date: " + sdf. format(cal. get. Time())); cal. add(Calendar. SECOND, 85); System. out. println("Current date: " + sdf. format(cal. get. Time())); cal. add(Calendar. MONTH, 1); System. out. println("Current date: " + sdf. format(cal. get. Time())); } }
Метод roll() package divine; import java. util. *; import java. text. *; public class Divine{ public static void main(String[] args) { Simple. Date. Format sdf = new Simple. Date. Format("yyyy MMMM dd HH: mm: ss"); Calendar cal = Calendar. get. Instance(); cal. set(Calendar. YEAR, 2013); cal. set(Calendar. MONTH, Calendar. MARCH); cal. set(Calendar. DAY_OF_MONTH, 31); cal. set(Calendar. HOUR_OF_DAY, 19); cal. set(Calendar. MINUTE, 30); cal. set(Calendar. SECOND, 00); System. out. println("Current date: " + sdf. format(cal. get. Time())); cal. roll(Calendar. SECOND, 75); System. out. println("Rule 1: " + sdf. format(cal. get. Time())); cal. roll(Calendar. MONTH, 1); System. out. println("Rule 2: " + sdf. format(cal. get. Time())); } }
Работа с датами и временем Класс Time. Zone предназначен для совместного использования с классами Calendar и Date. Format. Метод get. Default() возвращает экземпляр наследника Time. Zone с настройками, взятыми из операционной системы. Метод String[] get. Available. Ids() возвращает возможные значения для параметра get. Time. Zone. Класс Simple. Time. Zone - потомок Time. Zone. Реализует его абстрактные методы и предназначен для применения в настройках, использующих Григорианский календарь. К содержанию
Интерфейс Observer и класс Observable Интерфейс Observer определяет всего один метод, update (Observable o, Object arg), который вызывается, когда обозреваемый объект изменяется. Класс Observable предназначен для поддержки обозреваемого объекта в парадигме MVC (modelview-controller). Регистрация осуществляется с помощью метода add. Observer(Observer o). Удаление обозревателя из списка выполняется с помощью delete. Observer(Observer o). К содержанию
Коллекции Платформы Java содержат набор готовых классов, реализующих механизмы работы со структурами данных Такие классы называются коллекциями (collections). Хотя обработка массивов происходит быстрее, в ряде случаев требуется использовать коллекции. К содержанию
Коллекции Интерфейс Collection (корень всей иерархии классов-коллекций)определяет базовую функциональность любой коллекции - набор методов, которые позволяют добавлять, удалять, выбирать элементы коллекции. Abstract. Collection, как абстрактный класс, служит основой для создания конкретных классов коллекций и содержит реализацию некоторых методов, определенных в интерфейсе Collection. Интерфейс Set расширяет интерфейс Collection, таким образом, любой класс, имплементирующий Set, реализует все методы, определенные в Collection. Abstract. Set, являясь абстрактным классом, представляет собой основу для реализации различных вариантов интерфейса Set. Интерфейс List расширяет интерфейс Collection, и любой класс, имплементирующий List, реализует все методы, определенные в Collection. Abstract. List, как абстрактный класс, представляет собой основу для реализации различных вариантов интерфейса List. К содержанию
Коллекции Интерфейс Map не расширяет интерфейс Collection. Abstract. Map, будучи абстрактным классом, представляет собой основу для реализации различных вариантов интерфейса Map. Интерфейс Sorted. Set расширяет Set, требуя, чтобы содержимое набора было упорядочено. Интерфейс Sorted. Map расширяет Map, требуя, чтобы содержимое коллекции было упорядочено по значениям ключей. Интерфейс Iterator используется для перебора элементов коллекции. К содержанию
Коллекции Таким образом, подводя итог, перечислим интерфейсы, используемые при работе с коллекциями: java. util. Collection java. util. Set java. util. List java. util. Map java. util. Sorted. Set java. util. Sorted. Map java. util. Iterator К содержанию
Коллекции Aбстрактные классы, используемые при работе с коллекциями: java. util. Abstract. Collection - реализует все методы, определенные в интерфейсе Collection, за исключением iterator и size. java. util. Abstract. List - расширяет Abstract. Collection и реализует интерфейс List. java. util. Abstract. Set - расширяет Abstract. Collection и реализует основную функциональность, определенную в интерфейсе Set. java. util. Abstract. Map - расширяет основную функциональность, определенную в интерфейсе Map. java. util. Abstract. Sequential. List - расширяет Abstract. List и является основой для класса Linked. List. К содержанию
Коллекции Конкретные классы коллекций: java. util. Array. List - расширяет Abstract. List. java. util. Linked. List - представляет собой реализацию интерфейса List. java. util. Hashtable - расширяет абстрактный класс Dictionary. java. util. Hash. Map - расширяет Abstract. Map. java. util. Tree. Map - расширяет класс Abstract. Map и реализует интерфейс Sorted. Map. Класс Collections является классом-утилитой и содержит несколько вспомогательных методов для работы с классами, обеспечивающими различные интерфейсы коллекций К содержанию
java. util. Array. List package divine; import java. util. *; public class Divine{ public static void main(String[] args) { Divine t = new Divine(); Array. List al = new Array. List(); al. add("Один"); al. add("Два"); al. add("Четыре"); Iterator it = al. iterator(); while(it. has. Next()) { System. out. println((String)it. next()); } System. out. println("n"); al. add(2, "Три"); it = al. iterator(); while(it. has. Next()){ System. out. println((String)it. next()); } } }
java. util. Linked. List package divine; import java. util. *; public class Divine{ public static void main(String[] args) { Divine test = new Divine(); Linked. List ll = new Linked. List(); ll. add("Один"); ll. add. First("Два"); ll. add. First("Три"); ll. add. Last("Четыре"); test. dump. List(ll); ll. remove(2); test. dump. List(ll); String element = (String)ll. get. Last(); ll. remove(element); test. dump. List(ll); } private void dump. List(List list){ Iterator it = list. iterator(); System. out. println(); while(it. has. Next()){ System. out. println((String)it. next()); } } }
Пример сортировки package divine; import java. util. *; public class Divine{ private class Test. Object { private String name = ""; public Test. Object(String name) { this. name = name; } } private class My. Comparator implements Comparator { public int compare(Object l, Object r) { String left = (String)l; String right = (String)r; return -1 * left. compare. To(right); } } public Divine() { }
Пример сортировки public static void main(String[] args) { Divine test = new Divine(); Vector v = new Vector(); v. add("Один"); v. add("Два"); v. add("Три"); System. out. println("Default elements order"); test. dump. List(v); Collections. sort(v); System. out. println("Default sorting order"); test. dump. List(v); System. out. println("Reverse sorting order"); Collections. sort(v, test. new My. Comparator()); test. dump. List(v); } private void dump. List(List l) { Iterator it = l. iterator(); while(it. has. Next()) { System. out. println(it. next()); } } }
Класс Properties Класс Properties предназначен для хранения набора свойств (параметров). Методы String get. Property(String key) , String get. Property(String key, String default. Value) позволяют получить свойство из набора. С помощью метода set. Property(String key, String value) это свойство можно установить. Метод load(Input. Stream in. Stream) позволяет загрузить набор свойств из входного потока. Метод save(Output. Stream in. Stream, String header) сохраняет набор свойств в выходной поток в виде, пригодном для вторичной загрузки с помощью метода load. В классе Properties определен еще метод list(Print. Writer out), который практически идентичен save. К содержанию
Интерфейс Comparator В коллекциях многие методы сортировки или сравнения требуют передачи в качестве одного из параметров объекта, который реализует интерфейс Comparator. Метод compare (Object obj 1, Object obj 2) на основании определенного пользователем алгоритма сравнивает объекты, переданные в качестве параметров. Метод должен вернуть: -1, если obj 1 < obj 2 0, если obj 1 = obj 2 1, если obj 1 > obj 2 К содержанию
Класс Arrays обеспечивает набор методов для выполнения операций над массивами: поиск, сортировка, сравнение. Статический метод public List a. List(a[] arr) возвращает список фиксированного размера, основанный на массиве. Изменения в List можно внести, изменив данные в массиве. К содержанию
Класс String. Tokenizer Предназначен для разбора строки по лексемам (tokens). Конструктор – String. Tokenizer(String str). Два перегруженных конструктора: String. Tokenizer(String str, String delim) – разделитель лексем String. Tokenizer(String str, String delim, Boolean return. Delims) – признак возврата разделителя лексем. Разделитель лексем по умолчанию – пробел. К содержанию
Класс String. Tokenizer package test; import java. util. String. Tokenizer; public class Test { } public Test() { } public static void main(String[] args) { Test test = new Test(); String to. Parse = "word 1; word 2; word 3; word 4"; String. Tokenizer st = new String. Tokenizer (to. Parse, "; "); while(st. has. More. Tokens()){ System. out. println(st. next. Token()); } } К содержанию
Класс Bit. Set Предназначен для работы с последовательностями битов. Каждый компонент этой коллекции может принимать булево значение, которое обозначает, установлен бит или нет. Bit. Set имеет текущий размер (количество установленных битов), может динамически изменяться. По умолчанию все биты в наборе устанавливаются в 0 (false). Методы: set (int index) – установка битов; clear(int index) – очистка битов; int length() – возвращает "логический" размер набора битов; int size() – возвращает количество памяти, занимаемой битовой последовательностью Bit. Set. К содержанию
Класс Bit. Set package test; import java. util. Bit. Set; public class Test { public Test() { } public static void main(String[] args) { Test test = new Test(); Bit. Set bs 1 = new Bit. Set(); Bit. Set bs 2 = new Bit. Set(); bs 1. set(0); bs 1. set(2); bs 1. set(4); System. out. println("Length = " + bs 1. length()+" size = "+bs 1. size()); System. out. println(bs 1); bs 2. set(2); bs 1. and(bs 2); System. out. println(bs 1); } } К содержанию
Класс Random Используется для получения последовательности псевдослучайных чисел. Методы: double next. Gaussian() – возвращает случайное число в диапазоне от 0. 0 до 1. 0, распределенное по нормальному закону; void next. Bytes(byte[] arr) – заполняет массив arr случайными величинами типа byte. К содержанию
Класс Random package test; import java. util. Random; public class Test { } } public Test() { } public static void main(String[] args) { Test test = new Test(); Random r = new Random(100); // Generating the same sequence numbers for (int cnt=0; cnt<9; cnt++) { System. out. print(r. next. Int() + "n"); } К содержанию
Локализация. Класс Locale предназначен для отображения определенного региона. Под регионом принято понимать не только географическое положение, но также языковую и культурную среду. Конструкторы: Locale (String language, String country); Locale (String language, String country, String variant). В строковом параметре variant кодируется информация о платформе. Locale. get. ISOLanguages() и Locale. get. ISOCountries() – вывод списка поддерживаемых стран и языков. Дополнительные параметры разделяют символом «_» . get. Default() – возвращает текущую локаль. Для наиболее часто использующихся локалей заданы константы (Locale. US или Locale. GERMAN). К содержанию
Локализация. Класс Locale package test; import java. util. Locale; public class Test { } public Test() { } public static void main(String[] args) { Test test = new Test(); Locale l = Locale. get. Default(); System. out. println(l. get. Country() + " " + l. get. Display. Country() + " " + l. get. ISO 3 Country()); System. out. println(l. get. Language() + " " + l. get. Display. Language() + " " + l. get. ISO 3 Language()); System. out. println(l. get. Variant() + " " + l. get. Display. Variant()); l = new Locale("ru", "RU", "WINDOWS"); System. out. println(l. get. Variant() + " " + l. get. Display. Variant()); } К содержанию
Локализация. Класс Resource. Bundle Абстрактный класс Resource. Bundle предназначен для хранения объектов, специфичных для локали. Применение Resource. Bundle рекомендуется, если предполагается использовать программу в многоязыковой среде. Статический метод get. Bundle обеспечивает загрузку объекта для нужной локали: Resource. Bundle my. Resources = Resource. Bundle. get. Bundle("My. Resources", some. Locale); Resource. Bundle хранит объекты в виде пар ключ/значение. При его наследовании необходимо переопределить методы: Enumeration get. Keys() – возвращает список всех ключей, которые определены в Resource. Bundle; protected Object handle. Get. Object(String key) – возвращает объект, связанный с конкретным ключом. К содержанию
Локализация. Классы List. Resource. Bundle и Properties. Resource. Bundle – два прямых потомка класса Resource. Bundle. Properties. Resource. Bundle хранит набор ресурсов в файле, который представляет собой набор строк. Обычно класс Resource. Bundle помещают в пакет resources, а файл свойств - в каталог resources. Чтобы инстанциировать нужный класс, необходимо указать полный путь к этому классу (файлу): get. Bundle("resources. My. Resource", Locale. get. Default()); К содержанию
Локализация. Классы List. Resource. Bundle и Properties. Resource. Bundle List. Resource. Bundle хранит набор ресурсов в виде коллекции и является абстрактным классом. Классы, которые наследуют List. Resource. Bundle, должны обеспечить: переопределение метода Object[][] get. Contents(), который возвращает массив ресурсов; двумерный массив, содержащий ресурсы. К содержанию
java.util.pptx