Collections.min/max
Удивительно, насколько часто можно встретить написанный вручную код, который находит максимальный или минимальный элемент чего-то по какому-нибудь критерию.
Казалось бы, такая тривиальная задача должна быть давно решена. На самом деле она и так давно решена: есть методы Collections.min и Collections.max. Раньше было не очень удобно писать компараторы, но в Java-8 всё стало легче.
К примеру, вам нужно найти ключ в Map, соответствующий максимальному значению. Воспользуйтесь кодом с картинки.
Удивительно, насколько часто можно встретить написанный вручную код, который находит максимальный или минимальный элемент чего-то по какому-нибудь критерию.
Казалось бы, такая тривиальная задача должна быть давно решена. На самом деле она и так давно решена: есть методы Collections.min и Collections.max. Раньше было не очень удобно писать компараторы, но в Java-8 всё стало легче.
К примеру, вам нужно найти ключ в Map, соответствующий максимальному значению. Воспользуйтесь кодом с картинки.
👍37
👍27😱11👎2
#Вопросы_с_собеседования
❓Что такое checked и unchecked exception?
В Java все исключения делятся на два типа:
• checked (контролируемые/проверяемые исключения) должны обрабатываться блоком catch или описываться в заголовке метода (например, throws IOException). Наличие такого обработчика/модификатора в заголовке метода проверяется на этапе компиляции;
• unchecked (неконтролируемые/непроверяемые исключения), к которым относятся ошибки Error (например, OutOfMemoryError), обрабатывать которые не рекомендуется и исключения времени выполнения, представленные классом RuntimeException и его наследниками (например, NullPointerException), которые могут не обрабатываться блоком catch и не быть описанными в заголовке метода.
❓Что такое checked и unchecked exception?
В Java все исключения делятся на два типа:
• checked (контролируемые/проверяемые исключения) должны обрабатываться блоком catch или описываться в заголовке метода (например, throws IOException). Наличие такого обработчика/модификатора в заголовке метода проверяется на этапе компиляции;
• unchecked (неконтролируемые/непроверяемые исключения), к которым относятся ошибки Error (например, OutOfMemoryError), обрабатывать которые не рекомендуется и исключения времени выполнения, представленные классом RuntimeException и его наследниками (например, NullPointerException), которые могут не обрабатываться блоком catch и не быть описанными в заголовке метода.
👍32
#Вопросы_с_собеседования
❓Что такое Reflection?
Рефлексия (Reflection) - это механизм получения данных о программе во время её выполнения (runtime). В Java Reflection осуществляется с помощью Java Reflection API, состоящего из классов пакетов java.lang и java.lang.reflect.
Возможности Java Reflection API:
• Определение класса объекта;
• Получение информации о модификаторах класса, полях, методах, конструкторах и суперклассах;
• Определение интерфейсов, реализуемых классом;
• Создание экземпляра класса;
• Получение и установка значений полей объекта;
• Вызов методов объекта;
• Создание нового массива.
❓Что такое Reflection?
Рефлексия (Reflection) - это механизм получения данных о программе во время её выполнения (runtime). В Java Reflection осуществляется с помощью Java Reflection API, состоящего из классов пакетов java.lang и java.lang.reflect.
Возможности Java Reflection API:
• Определение класса объекта;
• Получение информации о модификаторах класса, полях, методах, конструкторах и суперклассах;
• Определение интерфейсов, реализуемых классом;
• Создание экземпляра класса;
• Получение и установка значений полей объекта;
• Вызов методов объекта;
• Создание нового массива.
👍26
#Вопросы_с_собеседования
❓Как вызывать default метод интерфейса в реализующем этот интерфейс классе?
Используя ключевое слово super вместе с именем интерфейса.
❓Как вызывать default метод интерфейса в реализующем этот интерфейс классе?
Используя ключевое слово super вместе с именем интерфейса.
👍29
Hibernate-ORM
Hibernate — библиотека, предназначенная для решения задач объектно-реляционного отображения (ORM). Hibernate ORM используется для хранения данных в реляционных базах данных. Она обеспечивает более простой и абстрактный способ сделать это для разработчиков. Он использует JDBC в своей реализации. Hibernate также является реализацией спецификации JPA.
Почитать о Hibernate ORM можно здесь.
Hibernate — библиотека, предназначенная для решения задач объектно-реляционного отображения (ORM). Hibernate ORM используется для хранения данных в реляционных базах данных. Она обеспечивает более простой и абстрактный способ сделать это для разработчиков. Он использует JDBC в своей реализации. Hibernate также является реализацией спецификации JPA.
Почитать о Hibernate ORM можно здесь.
👍22😱2
🎮 10 самых легендарных Java-игр
https://www.iguides.ru/blogs/palach-govorit/the-10-most-legendary-javagames-/
https://www.iguides.ru/blogs/palach-govorit/the-10-most-legendary-javagames-/
iGuides
10 самых легендарных Java-игр
Блоги читателей
👍9
#вопросы_с_собеседований
Реализуйте симметрическую разность двух коллекций, используя методы Collection (addAll(...), removeAll(...), retainAll(...)).
Симметрическая разность двух коллекций — это множество элементов, одновременно не принадлежащих обоим исходным коллекциям.
Реализуйте симметрическую разность двух коллекций, используя методы Collection (addAll(...), removeAll(...), retainAll(...)).
Симметрическая разность двух коллекций — это множество элементов, одновременно не принадлежащих обоим исходным коллекциям.
👍30
Переворачиваем изображение на 180 градусов
С помощью следующего фрагмента кода вы можете получить перевернутое на 180 градусов изображение.
Подробнее можно ознакомиться здесь.
С помощью следующего фрагмента кода вы можете получить перевернутое на 180 градусов изображение.
Подробнее можно ознакомиться здесь.
👍19😱6
👍26🤔1
#Вопросы_с_собеседования
❓Что будет, если переопределить equals() не переопределяя hashCode()? Какие могут возникнуть проблемы?
Классы и методы, которые используют правила этого контракта могут работать некорректно. Так для HashMap это может привести к тому, что пара «ключ-значение», которая была в неё помещена при использовании нового экземпляра ключа не будет в ней найдена.
❓Что будет, если переопределить equals() не переопределяя hashCode()? Какие могут возникнуть проблемы?
Классы и методы, которые используют правила этого контракта могут работать некорректно. Так для HashMap это может привести к тому, что пара «ключ-значение», которая была в неё помещена при использовании нового экземпляра ключа не будет в ней найдена.
👍19
#Вопросы_с_собеседования
❓Какие типы классов бывают в Java?
☕️ Top level class (Обычный класс):
✔️ Abstract class (Абстрактный класс);
✔️ Final class (Финализированный класс).
☕️ Interfaces (Интерфейс).
☕️ Enum (Перечисление).
☕️ Nested class (Вложенный класс):
✔️ Static nested class (Статический вложенный класс);
✔️ Member inner class (Простой внутренний класс);
✔️ Local inner class (Локальный класс);
✔️ Anonymous inner class (Анонимный класс).
❓Какие типы классов бывают в Java?
☕️ Top level class (Обычный класс):
✔️ Abstract class (Абстрактный класс);
✔️ Final class (Финализированный класс).
☕️ Interfaces (Интерфейс).
☕️ Enum (Перечисление).
☕️ Nested class (Вложенный класс):
✔️ Static nested class (Статический вложенный класс);
✔️ Member inner class (Простой внутренний класс);
✔️ Local inner class (Локальный класс);
✔️ Anonymous inner class (Анонимный класс).
👍46