Если equals() переопределен, есть ли какие-либо другие методы, которые следует переопределить?
Пишите в комментариях ваш вариант. Ответ будет у нас в канале.
#вопросы_с_собеседований
Пишите в комментариях ваш вариант. Ответ будет у нас в канале.
#вопросы_с_собеседований
Ответ на "Если equals() переопределен, есть ли какие-либо другие методы, которые следует переопределить?"
Равные объекты должны возвращать одинаковые хэш коды. При переопределении
#вопросы_с_собеседований
Равные объекты должны возвращать одинаковые хэш коды. При переопределении
equals()
нужно обязательно переопределять и метод hashCode()
.#вопросы_с_собеседований
Что будет, если переопределить equals() не переопределяя hashCode()? Какие могут возникнуть проблемы?
Пишите в комментариях ваш вариант. Ответ будет у нас в канале.
#вопросы_с_собеседований
Пишите в комментариях ваш вариант. Ответ будет у нас в канале.
#вопросы_с_собеседований
👍2
Ответ на "Что будет, если переопределить equals() не переопределяя hashCode()? Какие могут возникнуть проблемы?"
Классы и методы, которые используют правила этого контракта могут работать некорректно. Так для
#вопросы_с_собеседований
Классы и методы, которые используют правила этого контракта могут работать некорректно. Так для
HashMap
это может привести к тому, что пара «ключ-значение», которая была в неё помещена при использовании нового экземпляра ключа не будет в ней найдена.#вопросы_с_собеседований
👍4❤2
Каким образом реализованы методы hashCode() и equals() в классе Object?
Пишите в комментариях ваш вариант. Ответ будет у нас в канале.
#вопросы_с_собеседований
Пишите в комментариях ваш вариант. Ответ будет у нас в канале.
#вопросы_с_собеседований
Ответ на "Каким образом реализованы методы hashCode() и equals() в классе Object?"
Реализация метода
Реализация метода
Object.equals()
сводится к проверке на равенство двух ссылок:public boolean equals(Object obj) {Реализация метода
return (this == obj);
}
Object.hashCode()
описана как native
, т.е. определенной не с помощью Java кода и обычно возвращает адрес объекта в памяти:public native int hashCode();
#вопросы_с_собеседований👍3😁2
Что такое «коллекция»?
Пишите в комментариях ваш вариант. Ответ будет у нас в канале.
#вопросы_с_собеседований
Пишите в комментариях ваш вариант. Ответ будет у нас в канале.
#вопросы_с_собеседований
🤯1
Ответ на "Что такое «коллекция»?"
«Коллекция» - это структура данных, набор каких-либо объектов. Данными (объектами в наборе) могут быть числа, строки, объекты пользовательских классов и т.п.
#вопросы_с_собеседований
«Коллекция» - это структура данных, набор каких-либо объектов. Данными (объектами в наборе) могут быть числа, строки, объекты пользовательских классов и т.п.
#вопросы_с_собеседований
👍6❤1
Почему Map — это не Collection, в то время как List и Set являются Collection?
Пишите в комментариях ваш вариант. Ответ будет у нас в канале.
#вопросы_с_собеседований
Пишите в комментариях ваш вариант. Ответ будет у нас в канале.
#вопросы_с_собеседований
👍1
Ответ на "Почему Map — это не Collection, в то время как List и Set являются Collection?"
Collection представляет собой совокупность некоторых элементов. Map - это совокупность пар «ключ-значение».
#вопросы_с_собеседований
Collection представляет собой совокупность некоторых элементов. Map - это совокупность пар «ключ-значение».
#вопросы_с_собеседований
В чем разница между классами java.util.Collection и java.util.Collections?
Пишите в комментариях ваш вариант. Ответ будет у нас в канале.
#вопросы_с_собеседований
Пишите в комментариях ваш вариант. Ответ будет у нас в канале.
#вопросы_с_собеседований
👍5👎1
Ответ на "В чем разница между классами java.util.Collection и java.util.Collections?"
#вопросы_с_собеседований
java.util.Collections
- набор статических методов для работы с коллекциями.java.util.Collection
- один из основных интерфейсов Java Collections Framework
.#вопросы_с_собеседований
Чем различаются Enumeration и Iterator?
Пишите в комментариях ваш вариант. Ответ будет у нас в канале.
#вопросы_с_собеседований
Пишите в комментариях ваш вариант. Ответ будет у нас в канале.
#вопросы_с_собеседований
Ответ на "Чем различаются Enumeration и Iterator?"
Хотя оба интерфейса и предназначены для обхода коллекций между ними имеются существенные различия:
• с помощью
• в
•
#вопросы_с_собеседований
Хотя оба интерфейса и предназначены для обхода коллекций между ними имеются существенные различия:
• с помощью
Enumeration
нельзя добавлять/удалять элементы;• в
Iterator
исправлены имена методов для повышения читаемости кода (Enumeration.hasMoreElements()
соответствует Iterator.hasNext()
, Enumeration.nextElement()
соответствует Iterator.next()
и т.д);•
Enumeration
присутствуют в устаревших классах, таких как Vector
/Stack
, тогда как Iterator
есть во всех современных классах-коллекциях.#вопросы_с_собеседований
🔥6
Сравните Iterator и ListIterator.
Пишите в комментариях ваш вариант. Ответ будет у нас в канале.
#вопросы_с_собеседований
Пишите в комментариях ваш вариант. Ответ будет у нас в канале.
#вопросы_с_собеседований
👍4
Ответ на "Сравните Iterator и ListIterator."
•
•
•
• При помощи
#вопросы_с_собеседований
•
ListIterator
расширяет интерфейс Iterator
• ListIterator
может быть использован только для перебора элементов коллекции List
;•
Iterator
позволяет перебирать элементы только в одном направлении, при помощи метода next()
. Тогда как ListIterator
позволяет перебирать список в обоих направлениях, при помощи методов next()
и previous()
;•
ListIterator
не указывает на конкретный элемент: его текущая позиция располагается между элементами, которые возвращают методы previous()
и next()
.• При помощи
ListIterator
вы можете модифицировать список, добавляя/удаляя элементы с помощью методов add()
и remove()
. Iterator
не поддерживает данного функционала.#вопросы_с_собеседований
🔥9👍1
Как поведёт себя коллекция, если вызвать iterator.remove()?
Пишите в комментариях ваш вариант. Ответ будет у нас в канале.
#вопросы_с_собеседований
Пишите в комментариях ваш вариант. Ответ будет у нас в канале.
#вопросы_с_собеседований
Ответ на "Как поведёт себя коллекция, если вызвать iterator.remove()?"
Если вызову
#вопросы_с_собеседований
Если вызову
iterator.remove()
предшествовал вызов iterator.next()
, то iterator.remove()
удалит элемент коллекции, на который указывает итератор, в противном случае будет выброшено IllegalStateException()
.#вопросы_с_собеседований
🔥10
Как поведёт себя уже инстанциированный итератор для collection, если вызвать collection.remove()?
Пишите в комментариях ваш вариант. Ответ будет у нас в канале.
#вопросы_с_собеседований
Пишите в комментариях ваш вариант. Ответ будет у нас в канале.
#вопросы_с_собеседований
Ответ на "Как поведёт себя уже инстанциированный итератор для collection, если вызвать collection.remove()?"
При следующем вызове методов итератора будет выброшено
#вопросы_с_собеседований
При следующем вызове методов итератора будет выброшено
ConcurrentModificationException
.#вопросы_с_собеседований