Комментарии (18)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Tyrant
Уровень 10
5 февраля 2019, 14:20
Tyrant
Уровень 10
3 декабря 2018, 19:37
Tyrant
Уровень 10
17 декабря 2018, 14:46
Используйте исключения для того, чтобы:
- обработать ошибку на текущем уровне (избегайте перехватывать исключения,
  если не знаете, как с ними поступить);
- исправить проблему и снова вызвать метод, возбудивший исключение
- предпринять все необходимые действия и продолжить выполнение без
  повторного вызова действия;
- попытаться найти альтернативный результат вместо того, который должен
  был бы произвести вызванный метод;
- сделать все возможное в текущем контексте и заново возбудить это
  же исключение, перенаправив его на более высокий уровень;
- сделать все, что можно в текущем контексте, и возбудить новое исключение,
  перенаправив его на более высокий уровень;
- завершить работу программы;
- упростить программу (если используемая схема обработки исключений
  делает все только сложнее, значит, она никуда не годится);
- добавить вашей библиотеке и программе безопасности;
Tyrant
Уровень 10
3 декабря 2018, 15:38
Tyrant
Уровень 10
3 декабря 2018, 10:38
Tyrant
Уровень 10
15 ноября 2018, 15:40
Java — Дата и время: Методы класса Date. Форматирование даты с помощью printf. Задержка по времени. Время выполнения программы. Разница дат в Java. Количество дней между датами. Класс GregorianCalendar. Форматирование даты в Java. SimpleDateFormat,
Tyrant
Уровень 10
13 ноября 2018, 14:54
О выборе структур данных для начинающих: Часть 1. Линейные структуры: Массив(Array). Динамический массив(ArrayList). Связные списки(LinkedList). Часть 2. Линейные структуры данных с конечными точками: Очередь с приоритетом(PriorityQueue). Часть 4. Нелинейные структуры данных: Словарь данных(HashMap). Упорядоченное(TreeSet, LinkedHashSet) и неупорядоченное(HashSet) множество. HashMap в картинках. Часть 5. Правильный выбор структур данных. Сортировка массивов/списков методом compareTo();
Tyrant
Уровень 10
12 ноября 2018, 14:42
Отличия абстрактного класса от интерфейса:
Tyrant
Уровень 10
7 января 2019, 18:56
Отношение статических/не статических методов/полей между собой:
Tyrant
Уровень 10
5 ноября 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
Уровень 10
5 ноября 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();
       }
}