Java2 Flashcards
(41 cards)
Как добавить элемент в Set?
name_of_set.add(1);
Если нужно добавить в Map или Set в качестве ключа собственный объект, что нужно сделать перед этим?
перезаписать методы hashcode() и equals(), чтобы Java понимала, что объекты разные.
В каком порядке вызываются методы equals() и hashcode(), когда мы сравниваем объекты?
Сначала hashcode, если он “отработал” правильно, но этом заканчиваем проверку, если не т- equals();
Как называется, когда хеши объектов одинаковые, а сами объекты разные ?
Коллизия. hashCode() возвращает int, а размер int ограничен. Поэтому необходим метод equals().
Что значит, если метод hashCode() выдал два разных числа?
Объект точно разные.
Что лежит в основе hashSet?
hashMap, ключи которого всегда являются объектами класса objekt и просто скрыты.
Чем на самом деле являются значения в HashSet?
Ключами HashMap, с отрезанными значениями.
Что является “ячейкой” для HashMap? Что хранится в каждой ячейке?
Массив.
Связный список.
Как добавить свою логику сортировки объектов?
Мы должны создать новый класс, который реализует интерфейс Comparator.
Сколько методов имеет интерфейс Comparator?
Всего один - compare();
Что нужно сделать для того, чтобы реализовать свою логику сортировки?
Создать класс, с реализацией интерфейса Comparator и передать его объект в метод Collection.sort();
Когда класс имплементирует интерфейс Comparator, о чем нужно не забыть?
Что интерфейс параметризованный, нужно указать тип.
class X implements Comparator {
}
Где находится вся логика сортировки в классе, имплементирующем Comparator?
в методе Compare ();
Что представляет собой конвенция для метода Compare() интерфейса Comparator?
Метод compare(x1,x2) имеет два параметра и возвращаемый тип int :
если х1 > x2 => 1;
x1 < x2 => -1;
x1 == x2 => 0;
Какая вариация метода Collection.sort () нужна для реализации своей логики сортировки?
Collection.sort() c двумя параметрами, где первый - сортируемый объект, второй - объект класса, имплементирующего интерфейс Comparator с перезаписанным методом Compare;
Как использовать анонимный класс для создания своей логики сортировки?
Collection.sort(сортируемый_array, new Comparator { @Override //перезапись Compare });
Как “дать понять” JAVE, что объекты определенного класса годятся для сортировки, т.е. объекты можно сравнивать между собой?
Класс должен имплементировать интерфейс Comparable
Какой метод нужно перезаписать, имплементируя интерфейс Comparable?
compareTo();
Что иы делаем, имплементируя интерфейс Comparable?
Задаем для класса естественный порядок сортировки
Какие два метода существуют для добавления объектов в Queue, в очередь?
add();
offer();
Какие два метода существуют для изъятия объектов из очереди?
remove();
poll();
Как ограничить максимальный размер очереди?
класс ArrayBlockingQueue, при создании объекта нужно указать размер очереди.
Что делает методsы remove() и poll() в Queue?
вызовет элемент в голове списка и удалит его.
Какая разница между парами add() и offer(); remove() и poll(); element() и peek(); ? в Queue?
Первые выбрасывают исключения, вторые специальные значения ( у метода offer - false)