Comments (18)
  • Popular
  • New
  • Old
You must be signed in to leave a comment
Tyrant
Level 10
3 December 2018, 19:37
Tyrant
Level 10
17 December 2018, 14:46
Используйте исключения для того, чтобы:
- обработать ошибку на текущем уровне (избегайте перехватывать исключения,
  если не знаете, как с ними поступить);
- исправить проблему и снова вызвать метод, возбудивший исключение
- предпринять все необходимые действия и продолжить выполнение без
  повторного вызова действия;
- попытаться найти альтернативный результат вместо того, который должен
  был бы произвести вызванный метод;
- сделать все возможное в текущем контексте и заново возбудить это
  же исключение, перенаправив его на более высокий уровень;
- сделать все, что можно в текущем контексте, и возбудить новое исключение,
  перенаправив его на более высокий уровень;
- завершить работу программы;
- упростить программу (если используемая схема обработки исключений
  делает все только сложнее, значит, она никуда не годится);
- добавить вашей библиотеке и программе безопасности;
Tyrant
Level 10
3 December 2018, 15:38
Tyrant
Level 10
15 November 2018, 15:40
Java — Дата и время: Методы класса Date. Форматирование даты с помощью printf. Задержка по времени. Время выполнения программы. Разница дат в Java. Количество дней между датами. Класс GregorianCalendar. Форматирование даты в Java. SimpleDateFormat,
Tyrant
Level 10
13 November 2018, 14:54
О выборе структур данных для начинающих: Часть 1. Линейные структуры: Массив(Array). Динамический массив(ArrayList). Связные списки(LinkedList). Часть 2. Линейные структуры данных с конечными точками: Очередь с приоритетом(PriorityQueue). Часть 4. Нелинейные структуры данных: Словарь данных(HashMap). Упорядоченное(TreeSet, LinkedHashSet) и неупорядоченное(HashSet) множество. HashMap в картинках. Часть 5. Правильный выбор структур данных. Сортировка массивов/списков методом compareTo();
Tyrant
Level 10
12 November 2018, 14:42
Отличия абстрактного класса от интерфейса:
Tyrant
Level 10
7 January 2019, 18:56
Отношение статических/не статических методов/полей между собой:
Tyrant
Level 10
5 November 2018, 15:53
Java Collections расширяют интерфейс Iterable. List, Set и Queue поддерживают итератор. Для java Map iterator также поддерживается, но его необходимо вызывать для Map.entrySet(): Map<String, Integer> map = new HashMap<>(); Iterator mapIterator = map.entrySet().iterator(); Дальше все аналогично с List: while (mapIterator.hasNext()) { Map.Entry<String, Integer> entry = mapIterator.next(); System.out.println("Key: " + entry.getKey()); System.out.println("Value: " + entry.getValue()); } Паттерн — это шаблон проектирования, некое поведение, которого должен придерживаться класс или множество взаимосвязанных классов. Интерфейс итератор – частная реализация одноименного паттерна, применяемая как к готовым структурам (List, Set, Queue, Map), так и к прочим, на усмотрение программиста. Расширяя интерфейс Iterator, ты реализуешь паттерн, но для реализации паттерна не обязательно расширять интерфейс. Почитать про паттерн итератор позже То же про паттерн итератор. Не сегодня.
Tyrant
Level 10
5 November 2018, 15:47
Iterator - если по-простому, то это метод, с помощью которого получается следующий элемент коллекции - ну, как бы некое правило обхода элементов коллекции/массива данных. Формально это интерфейс Iterator, который содержит 3 метода: hasNext() - проверяет, есть ли следующий элемент; next() - возвращает следующий элемент; remove() - удаляет текущий элемент. Пример итератора с while:
Iterator<Integer> iterator = set.iterator();
while (iterator.hasNext())  {
       Integer element = iterator.next();
       if (element < 5)  {
           iterator.remove();
       }
}
Пример итератора с for:
for(Iterator<Integer> iter = set.iterator(); iter.hasNext();)  {
       Integer element = iter.next();
       if (element < 5)  {
           iter.remove();
       }
}