Код к занятию Kotlin-4 - коллекции
В папке persons вы найдете класс Person
для хранения имени, фамилии и возраста.
Напишите реализацию функции sortByAge
в файле persons.kt, чтобы
персоны сортировались по возрасту в порядке убывания
Тест функции в файле PersonsKtTest
В папке persons вы найдете класс Person
для хранения имени, фамилии и возраста.
Напишите реализацию функции sortByName
в файле persons.kt, чтобы:
- персоны сортировались по алфавиту
- при одинаковой фамилии, персоны сортируются по имени
Тест функции в файле PersonsKtTest
В папке mapswap вы найдете файл mapSwap.kt
c заготовкой функции swap
.
Напишите реализацию функции таким образом, чтобы ключи и значения менялись местами для произвольных типов K
и V
.
Тест функции в файле MapSwapKtTest
На семинаре мы начали делать свою собственную реализацию List. Нужно доделать методы subList
и containsAll
,
класса NaturalList, чтобы интерфейс был полностью закончен.
Тест функций найдете в файле NaturalListTest
На семинаре мы начали делать свою собственную реализацию List. Нужно реализовать методы equals
и hashCode
,
класса NaturalList, чтобы контракт этих функций выполнялся, а
результаты работы совпадали с реализациями списков Kotlin по умолчанию. Например, результаты работы функций
для NaturalList(5)
должны совпадать с результатами аналогичных функций для listOf(1, 2, 3, 4, 5)
.
Контракт для equals
и hashCode
поищите в исходном коде класса Any
или в интернете. В качестве подсказки,
пользуйтесь исходными кодами коллекции List
.
Тест функций найдете в файле NaturalListTest