Код к занятию Kotlin-4 - коллекции
- List
- Set
- Map
- Sequence
В папке 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, чтобы контракт этих функций выполнялся.
- Результат работы
equalsдолжен давать положительный результат при сравнении с другим стандартным списком. Например, выполнение функции дляNaturalList(5)должно совпадать с результатами аналогичной функций дляlistOf(1, 2, 3, 4, 5). - Результат работы
hashCodeдолжен быть корректным и "хорошим" - должен зависеть от параметра списка. Вы можете воспользоваться любой удобной вам хэш-функцией. Например, посмотреть готовую реализацию в библиотечных классах. Эта часть задания, скорее, на исследование библиотечных коллекций и поиск готовых реализаций в стандартной библиотеке.
Тест функций найдете в файле NaturalListTest