Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Клас Date

План

1 Клас Date

2 Класи Calendar і GregorianCalendar

3 Колекції

4 Інтерфейс Collection

5 Конкретні класи колекцій

 

Клас Date споконвічно надавав набір функцій для роботи з датою - для одержання поточного року, місяця й т.д. Однак зараз всі перераховані методи не рекомендовані до використання й практично всю функціональність для цього надає клас Calendar.

Існує кілька конструкторів класу Date, однак рекомендовано до використання два:

 

Date() і Date(long date)

 

Другий конструктор приймає як параметр значення типу long, що вказує на кількість мілісекунд, що пройшли з 1 січня 1970 р., 00:00:00 за Гринвічем. Перший конструктор створює екземпляр, що відповідає сучасному моменту. Фактично це еквівалентно другому варіанту new Date(System.currentTimeMillis()). Можна вже після створення екземпляра класу Date використовувати метод setTime(long time) для того, щоб задати потрібний час.

Для порівняння дат служать методи after(Date date) і before(Date date), які повертають логічне значення, залежно від того, виконанаумова або ні. Метод compareTo(Date anotherDate) повертає значення типу int, що дорівнює -1, якщо дата менше порівнюваної, 1 - якщо більше й 0 - якщо дати рівні. Метод toString() повертає строковий опис дати. Однак для більш зрозумілого й зручного перетворення дати в тексті рекомендується користуватися класом SimpleDateFormat, визначеним у пакеті java.text.

2 Класи Calendar і GregorianCalendar

Більш розвинені засоби для роботи з датами представляє клас Calendar. Calendar є абстрактним класом. Для різних платформ реалізуються конкретні підкласи календаря. На даний момент існує реалізація Григоріанського календаря - GregorianCalendar. Екземпляр цього класу виходить шляхом виклику статичного методу getInstance(), що повертає екземпляр класу GregorianCalendar. Підкласи класу Calendar повинні інтерпретувати об'єкт Date по-різному. У майбутньому передбачається реалізувати також місячний календар, використовуваний у деяких країнах.

Calendar забезпечує набір методів, що дозволяють маніпулювати різними «частинами» дати, тобто одержувати й установлювати дні, місяці, тижні й т.д.

Якщо при завданні параметрів календаря деякі параметри упущені, то для них будуть використані значення за замовчуванням для початку відліку, тобто YEAR = 1970, MONTH = JANUARY, DATE = 1 і т.д.

Для зчитування й установки різних «частин» дати використовуються методи get(int field), set(int field, int value), add(int field, int amount), roll(int field, int amount), змінна типу int з ім'ям field указує на номер поля, з яким потрібно зробити операцію. Для зручності всі ці поля визначені в Calendar як статичні константи типу int.

 

3 Колекції

Найчастіше в програмі робота йде не з одним об'єктом, а із цілою групою більш-менш однотипних екземплярів. Найпростіше зробити це за допомогою масивів. Однак, незважаючи на те, що це досить ефективне рішення для багатьох випадків, воно має деякі обмеження. Так, звертатися до елемента масиву можна тільки по його номеру (індексу). Також необхідно заздалегідь задати довжину масиву й більше її не змінювати.

Існує кілька різних типів класів-колекцій. Всі вони розроблялися, по можливості, відповідно до єдиної логіки й певних інтерфейсів і там, де це можливо, робота з ними уніфікована. Однак всі колекції відрізняються внутрішніми механізмами зберігання, швидкістю доступу до елементів, споживаною пам'яттю й іншими деталями. Наприклад, у деяких колекціях об'єкти (також називані елементами колекцій), можуть бути впорядковані, у деяких - ні. У деяких типах колекцій допускається дублювання посилань на об'єкт, у деяких - ні. Далі ми розглянемо кожний із класів-колекцій.

Класи, що забезпечують маніпулювання колекціями об'єктів, оголошені в пакеті java.util.




Переглядів: 698

<== попередня сторінка | наступна сторінка ==>
Використання оператора throw | Інтерфейс Collection

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

  

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.002 сек.