Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗ktOpOpPrDc 118 of 123 menu
◀ ▶

Практика на data class в Kotlin

Сделайте data class Book с полями isbn, title и year. Дан список:

val shelf = listOf( Book("1", "Alpha", 2020), Book("2", "Beta", 2024), Book("3", "Gamma", 2020), )

Выведите число книг с year == 2020.

Сделайте data class Point с полями x и y. Даны значения:

val p1 = Point(1, 2) val p2 = Point(1, 2) val p3 = Point(2, 1)

Выведите три результата сравнения ==: p1 и p2, p1 и p3, p2 и p3.

Сделайте data class User с полями login и active по умолчанию true. Дан объект:

val u = User("neo")

Получите копию с active = false. Выведите login и active новой записи.

Сделайте data class PairTag с полями key и value. Дана карта:

val tags = mapOf( "env" to PairTag("env", "prod"), "ver" to PairTag("ver", "3"), )

Для ключа "ver" выведите value или "missing", если записи нет.

Сделайте data class OrderLine с полями sku и qty. Дан список:

val lines = listOf( OrderLine("a", 2), OrderLine("b", 1), OrderLine("a", 3), )

Выведите сумму qty для sku == "a".

Сделайте data class RGB с полями r, g и b. Создайте RGB(10, 20, 30). Выведите строку toString().

Сделайте data class Version с полями major и minor. Даны версии:

val v1 = Version(1, 0) val v2 = v1.copy(minor = 2)

Выведите major и minor у v1 и у v2 в формате из четырех чисел, разделенных пробелами.

Сделайте data class Hit с полями page и ms. Дан список:

val hits = listOf( Hit("/", 120), Hit("/api", 40), Hit("/", 80), )

Выведите среднее ms для page == "/" как целое (отбросьте дробную часть).

Сделайте data class Edge с полями from и to. Поместите три ребра в mutableSetOf, добавьте дубликат первого ребра. Выведите размер набора.

Сделайте data class Row с полями id и text. Дана переменная:

val row: Row = Row(5, "note")

Разберите row на id и text и выведите их в одной строке: сначала id, затем text, между ними двоеточие.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить