АКЦИЯ: бесплатные месячные курсы по созданию сайтов
на выбор: верстка, JavaScript, PHP, Python или фреймворки. Сегодня последний день для записи! Жми!
Новый формат обучения! Репетиторство по программированию. Есть еще 3 свободных места! Жми для подробностей.

Справочник Kotlin

Управляющие конструкции

условный оператор условный выбор цикл for цикл while цикл do-while повторение блока кода объявление функции

Специальные значения

логическая истина логическая ложь нулевое значение не число бесконечность

Операторы

проверка вхождения проверка типа приведение типа

Объявление переменных

изменяемая переменная неизменяемая переменная константа времени компиляции

Вывод данных

вывод строки с переводом вывод строки без перевода

Управление потоком

возврат значения прерывание цикла продолжение цикла псевдоним типа заглушка реализации

Модификаторы

встраивание функций

Организация кода

объявление пакета импорт классов и функций

Базовые типы данных

в целое число в длинное целое в дробное число в число float в короткое целое в байт в символ в булево значение в беззнаковое целое в беззнаковое длинное в беззнаковое короткое в UDouble в UFloat в беззнаковый байт в большое целое в десятичное число

Символы

цифру в целое число цифру в целое число (nullable) цифру в символ

Безопасные преобразования (Nullable)

в целое (nullable) в длинное целое (nullable) в дробное (nullable) в float (nullable) в Byte в Short (nullable) в UInt (nullable) в ULong (nullable) в UDouble (nullable) в UFloat (nullable) в UByte (nullable) в UShort (nullable) разбор строки в Double (nullable) в булево (строго) в булево (строго, nullable)

Строковые преобразования

в строку в строку байтов в HEX строку в бинарную строку в строку с основанием в десятичную строку

Коллекции

в список в множество в словарь в изменяемый список в изменяемое множество в изменяемый словарь в сортированное множество в сортированный словарь в хэш-множество в хэш-словарь в коллекцию

Массивы примитивных типов

в массив объектов в типизированный массив в массив целых в массив длинных в массив дробных в массив float в массив коротких в массив байтов в массив символов в массив булевых в массив UByte в массив UInt в массив ULong в массив UShort

Альтернативные представления (as-функции)

как массив byte как массив int как массив long как массив short как массив UByte как массив UInt как массив ULong как массив UShort как Iterable как список как последовательность

Специальные преобразования

в пару значений в Properties

Создание списков

создать список пустой список список не-null элементов создать изменяемый список создать ArrayList построить список

Создание множеств

создать множество пустое множество создать изменяемое множество создать HashSet создать LinkedHashSet создать TreeSet построить множество

Создание словарей

создать словарь пустой словарь создать изменяемый словарь создать HashMap создать LinkedHashMap создать TreeMap построить словарь

Создание последовательностей

создать последовательность пустая последовательность генерируемая последовательность

Создание массивов

создать массив массив boolean массив byte массив char массив short массив int массив long массив float массив double массив строк пустой массив массив null-элементов

Другие структуры

создать ArrayDeque

Основные

целое число строка число с плавающей точкой логический тип длинное целое число float символ короткое целое байт беззнаковое целое беззнаковое длинное беззнаковое короткое беззнаковый байт базовый тип отсутствие значения отсутствие значения большое целое десятичное число базовый числовой тип

Интерфейсы коллекций

Iterable Collection List Set Map MutableIterable MutableCollection MutableList MutableSet MutableMap MutableIterator Iterator ListIterator MutableListIterator

Специализированные коллекции

MapWithDefault MutableMapWithDefault SortedSet SortedMap NavigableSet NavigableMap

Массивы

Array BooleanArray ByteArray CharArray DoubleArray FloatArray LongArray ShortArray IntArray UByteArray UShortArray UIntArray ULongArray

Последовательности

Sequence MutableSequence интерфейс символьных последовательностей

Конкретные реализации коллекций

ArrayDeque HashMap LinkedHashMap TreeMap HashSet LinkedHashSet TreeSet ArrayList LinkedList

Специальные типы

Тип Pair Тип Triple Тип Lazy Тип Observable Тип Vetoable

Функции утверждений

проверка аргументов проверка на не-null проверка состояния проверка в тестах проверка на не-null проверка на не-null проверка на конечность

Математические

проверка на бесконечность проверка на конечность проверка на NaN

Строковые

проверка на пробелы проверка на пустоту проверка на не пробелы проверка на непустоту является ли символ цифрой является ли символ буквой является ли символ строчной буквой является ли символ заглавной буквой является ли символ заглавной буквой является ли символ пробельным является ли символ буквой или цифрой

Редкие

определен ли символ в Unicode является ли символ управляющим символом ISO можно ли игнорировать символ в идентификаторах является ли символ старшим суррогатом является ли символ младшим суррогатом является ли символ суррогатной парой

Математические функции

округление числа округление числа до Int округление числа до Long округление в большую сторону округление в меньшую сторону квадратный корень числа степень числа максимальное число из пары минимальное число из пары максимальное значение из группы минимальное значение из группы модуль числа сумма по условию остаток от деления остаток от деления целочисленное деление

Рандом

класс для случайных чисел случайное целое число случайное дробное число случайное true/false массив случайных байт случайное длинное число случайное число float

Редкие

гипотенуза чисел экспонента числа натуральный логарифм логарифм по основанию 10 натуральный логарифм (аналог log) синус угла косинус угла тангенс угла арксинус числа арккосинус числа арктангенс числа арктангенс y/x гиперболический синус гиперболический косинус гиперболический тангенс знак числа величина ULP числа следующее число вверх следующее число вниз число с изменённым знаком остаток по IEEE 754 градусы в радианы радианы в градусы усечение числа логарифм по основанию 2 следующее число после

Константы

число Пи число Эйлера плюс бесконечность минус бесконечность константа эпсилон

Функции

создание диапазона создание диапазона до исключая создание убывающего диапазона ограничение значения диапазоном ограничение минимальным значением ограничение максимальным значением увеличение значения на 1 уменьшение значения на 1

Типы

Базовые операции

длина строки проверка на пустоту проверка на непустоту проверка на пробелы проверка на не пробелы или пустая строка

Поиск и сравнение

найти первое вхождение найти последнее вхождение сравнение содержимого сравнение строк сравнение строк поиск индекса подстроки последний индекс подстроки проверка начала строки проверка конца строки проверка наличия подстроки

Преобразование регистра

в нижний регистр в верхний регистр первая буква заглавная первая буква строчная

Обрезка и очистка

обрезка пробелов обрезка пробелов в начале обрезка пробелов в конце удалить префикс удалить суффикс удалить окружение

Извлечение подстрок

подстрока первый символ последний символ взять первые символы взять последние символы удалить первые символы удалить последние символы

Замена и модификация

замена подстроки замена первого вхождения замена первого символа по условию замена после подстроки замена перед подстрокой замена диапазона конкатенация строк

Разделение и соединение

разделение строки разбиение на строки попарное объединение

Форматирование и заполнение

форматирование строки дополнение в начале дополнение в конце

Фильтрация и преобразование

фильтрация символов преобразование символов

Повторение и реверс

повторение строки перевернуть строку

Условные операции

проверка с заменой проверка пробелов с заменой

Анализ строк

общий префикс общий суффикс разбить на блоки скользящее окно

Размер и проверки

размер коллекции проверка пустоты проверка непустоты проверка на null или пустоту последний индекс

Проверки содержания

содержит элемент содержит все элементы проверка ключа проверка значения

Поиск элементов

получить элемент значение или лямбда значение или null значение или default получить значение (строго) получить или добавить первый элемент первый элемент или null последний элемент последний элемент или null элемент по индексу элемент или лямбда элемент или null индекс элемента первый индекс по условию последний индекс по условию найти элемент найти последний элемент единственный элемент единственный элемент или null случайный элемент случайный элемент или null

Фильтрация

фильтрация элементов исключение элементов фильтрация не-null фильтрация с индексом фильтрация по типу фильтрация ключей фильтрация значений разделение коллекции

Преобразование

преобразование элементов преобразование с индексом преобразование не-null преобразование ключей преобразование значений преобразовать и сгладить сгладить коллекцию создать ассоциацию ассоциация по ключу ассоциация по значению уникальные элементы уникальность по ключу группировка элементов попарное объединение разделение пар элементы с индексами в обратном порядке преобразование коллекции преобразовать в последовательность

Агрегация и статистика

подсчет элементов сумма элементов сумма по условию среднее значение минимальный элемент минимальный элемент или null максимальный элемент максимальный элемент или null минимум по ключу максимум по ключу минимальное значение максимальное значение уменьшение коллекции свертка коллекции агрегация элементов

Проверки условий

проверка всех элементов проверка условия проверка отсутствия сравнение коллекций сравнение коллекций

Работа с подмножествами

взять первые элементы взять последние элементы взять пока условие взять с конца пока условие удалить первые элементы удалить последние элементы удалить пока условие удалить с конца пока условие выбрать диапазон скользящее окно разбить на блоки индексы коллекции подсписок скользящее окно скользящее окно (синоним)

Сортировка

сортировка коллекции сортировка по ключу сортировка по убыванию сортировка с компаратором обратный порядок перевернутая коллекция перемешать элементы перемешанная коллекция

Итерация

перебор элементов перебор с индексом побочный эффект для каждого итератор коллекции

Операции с множествами

объединение множеств пересечение множеств разность множеств

Модификация коллекций

добавление элементов добавление элемента удаление элементов удаление элемента добавить все элементы добавить все элементы в Map добавить элемент в Map добавить если отсутствует удалить элемент удалить все элементы оставить только удалить первый удалить первый или null удалить последний удалить последний или null очистить коллекцию заполнить значениями заменить все значения удалить элементы по условию

Работа с массивами

копия массива копия диапазона копировать в массив сравнение массивов глубокое сравнение массивов строковое представление глубокое строковое представление хэш-код массива глубокий хэш-код массива бинарный поиск сортировка массива

Строковые операции

объединить в строку объединить в Appendable или пустая коллекция если пусто то значение строковое представление значение по умолчанию если пусто

Перечисления

все значения enum получить по имени имя элемента порядковый номер список элементов безопасное получение значения enum (generic) получить элемент (generic) типизированные значения типизированные элементы сравнение элементов проверка равенства хэш-код элемента строковое представление клонирование элемента получить элемент по значению (nullable)

Регулярные выражения

класс для регулярок результат совпадения регулярного выражения группа захвата регулярного выражения коллекция групп захвата флаги и опции регулярных выражений создать регулярку полное совпадение содержит совпадение найти совпадение все совпадения заменить совпадения заменить первое замена всех вхождений разделить по шаблону полное соответствие группы совпадений группы захвата флаги регулярки экранирование строки экранирование строки замены из литерала

Построитель строк

создание StringBuilder добавление содержимого добавление строки с переводом преобразование в строку вставка содержимого замена содержимого удаление символов удаление диапазона получение подстроки обращение строки очистка содержимого получение длины поиск подстроки установка символа получение символа получение ёмкости обеспечение ёмкости оптимизация размера установка длины удаление по индексу добавление диапазона последнее вхождение получение последовательности получение потока символов получение кодовых точек преобразование в массив сравнение объектов хэш-код объекта сравнение строк

Создание и базовые операции

создать файл проверить существование создать файл создать директорию создать директории переименовать файл удалить файл удалить рекурсивно создать временный файл удалить при завершении

Чтение данных

прочитать текст прочитать строки прочитать байты обработка строк использовать строки

Запись данных

записать текст добавить текст записать байты добавить байты записать строки

Потоки ввода-вывода

буферизованное чтение буферизованная запись поток вывода входной поток выходной поток

Копирование файлов

копировать файл копировать рекурсивно

Информация о файлах

это файл это директория имя файла размер файла время изменения расширение файла имя без расширения

Права доступа

доступен для чтения доступен для записи доступен для выполнения

Работа с директориями

список файлов обход файлов родительская директория

Работа с путями

путь файла абсолютный путь канонический путь объединить пути путь соседнего файла нормализовать путь относительный путь относительный путь (строка)

LocalDate

класс LocalDate текущая дата создание даты разбор строки получить год получить месяц получить номер месяца получить день месяца получить день года получить день недели проверка високосного года добавить годы добавить месяцы добавить недели добавить дни вычесть годы вычесть месяцы вычесть недели вычесть дни установить год установить месяц установить день месяца установить день года начало дня создать LocalDateTime период до даты проверка "до" проверка "после" проверка равенства диапазон поля длина месяца длина года преобразовать в дни эпохи получить из TemporalAccessor

LocalTime

класс LocalTime текущее время создание времени разбор строки получить часы получить минуты получить секунды получить наносекунды добавить часы добавить минуты добавить секунды добавить наносекунды вычесть часы вычесть минуты вычесть секунды вычесть наносекунды установить часы установить минуты установить секунды установить наносекунды усечение времени проверка "до" проверка "после" секунды с начала дня наносекунды с начала дня создать LocalDateTime диапазон поля получить из TemporalAccessor

LocalDateTime

класс LocalDateTime текущая дата и время создание даты и времени разбор строки получить дату получить время получить год получить месяц получить номер месяца получить день месяца получить день года получить день недели получить часы получить минуты получить секунды получить наносекунды добавить годы добавить месяцы добавить недели добавить дни добавить часы добавить минуты добавить секунды добавить наносекунды вычесть годы вычесть месяцы вычесть недели вычесть дни вычесть часы вычесть минуты вычесть секунды вычесть наносекунды установить год установить месяц установить день месяца установить день года установить часы установить минуты установить секунды установить наносекунды создать ZonedDateTime создать OffsetDateTime преобразовать в Instant проверка "до" проверка "после" проверка равенства получить из TemporalAccessor

DayOfWeek

класс DayOfWeek понедельник вторник среда четверг пятница суббота воскресенье все значения получить по имени получить числовое значение добавить дни вычесть дни получить из TemporalAccessor

Month

класс Month январь февраль март апрель май июнь июль август сентябрь октябрь ноябрь декабрь все значения получить по имени получить числовое значение первый месяц квартала первый день года длина месяца минимальная длина максимальная длина добавить месяцы вычесть месяцы получить из TemporalAccessor

Year

класс Year текущий год создание года разбор строки получить значение проверка високосного года длина года добавить годы вычесть годы создать LocalDate создать YearMonth создать LocalDate проверка "после" проверка "до" диапазон поля получить из TemporalAccessor

YearMonth

класс YearMonth текущий год и месяц создание года и месяца разбор строки получить год получить месяц получить номер месяца проверка високосного года длина месяца длина года добавить годы добавить месяцы вычесть годы вычесть месяцы установить год установить месяц конец месяца создать LocalDate проверка "после" проверка "до" диапазон поля получить из TemporalAccessor

MonthDay

класс MonthDay текущий месяц и день создание месяца и дня разбор строки получить месяц получить номер месяца получить день месяца установить месяц установить день месяца проверка валидности года создать LocalDate диапазон поля получить из TemporalAccessor

ZonedDateTime

класс ZonedDateTime текущее время с часовым поясом создание времени с поясом разбор строки получить часовой пояс получить смещение сменить пояс с сохранением момента сменить пояс с сохранением локального времени преобразовать в LocalDateTime преобразовать в LocalDate преобразовать в LocalTime преобразовать в OffsetDateTime преобразовать в Instant раннее смещение при перекрытии позднее смещение при перекрытии проверка "до" проверка "после" проверка равенства добавить период вычесть период установить значение диапазон поля

OffsetDateTime

класс OffsetDateTime текущее время со смещением создание времени со смещением разбор строки получить смещение получить год получить месяц получить день месяца получить часы получить минуты получить секунды получить наносекунды преобразовать в LocalDateTime преобразовать в LocalDate преобразовать в LocalTime преобразовать в ZonedDateTime преобразовать в Instant сменить смещение с сохранением момента сменить смещение с сохранением локального времени проверка "до" проверка "после" проверка равенства добавить период вычесть период установить значение

Instant

класс Instant текущий момент создание из секунд эпохи создание из миллисекунд эпохи разбор строки получить секунды эпохи получить наносекунды добавить секунды добавить миллисекунды добавить наносекунды вычесть секунды вычесть миллисекунды вычесть наносекунды проверка "до" проверка "после" сравнение создать ZonedDateTime создать OffsetDateTime преобразовать в миллисекунды усечение времени получить из TemporalAccessor

ZoneId

класс ZoneId системный часовой пояс создание часового пояса доступные часовые пояса получить идентификатор получить правила нормализованный часовой пояс получить из TemporalAccessor

Period

класс Period создание периода период в годах период в месяцах период в неделях период в днях разбор строки период между датами получить годы получить месяцы получить дни добавить период вычесть период умножить период отрицательный период нормализованный период проверка нулевого периода проверка отрицательного периода установить годы установить месяцы установить дни добавить к временному объекту вычесть из временного объекта получить из TemporalAmount

Duration

класс Duration создание длительности длительность в днях длительность в часах длительность в минутах длительность в секундах длительность в миллисекундах длительность в наносекундах разбор строки длительность между моментами получить секунды получить наносекунды преобразовать в дни преобразовать в часы преобразовать в минуты преобразовать в миллисекунды преобразовать в наносекунды добавить длительность вычесть длительность умножить длительность разделить длительность отрицательная длительность абсолютная длительность проверка нулевой длительности проверка отрицательной длительности добавить к временному объекту вычесть из временного объекта получить из TemporalAmount

OffsetTime

класс OffsetTime текущее время со смещением создание времени со смещением разбор строки получить часы получить минуты получить секунды получить наносекунды получить смещение преобразовать в LocalTime сменить смещение с сохранением момента сменить смещение с сохранением локального времени добавить период вычесть период установить значение проверка "до" проверка "после" проверка равенства диапазон поля получить из TemporalAccessor

Clock

класс Clock системные часы с часовым поясом системные часы UTC системные часы фиксированные часы часы со смещением часы с тиками сменить часовой пояс получить часовой пояс текущий момент текущие миллисекунды

DateTimeFormatter

класс DateTimeFormatter создание по шаблону форматер ISO_LOCAL_DATE форматер ISO_LOCAL_TIME форматер ISO_LOCAL_DATE_TIME форматер ISO_ZONED_DATE_TIME форматер ISO_INSTANT форматер ISO_OFFSET_DATE_TIME форматер ISO_DATE форматер ISO_TIME форматер ISO_DATE_TIME форматер BASIC_ISO_DATE форматер RFC_1123_DATE_TIME форматирование разбор сменить локаль получить локаль получить часовой пояс сменить часовой пояс получить хронологию сменить хронологию получить стиль разрешения сменить стиль разрешения преобразовать в Format получить из Format

DateTimeFormatterBuilder

класс DateTimeFormatterBuilder добавить шаблон добавить значение добавить текст добавить смещение добавить часовой пояс добавить хронологию добавить литерал добавить дробную часть добавить момент добавить часовой пояс или смещение нечувствительный к регистру разбор чувствительный к регистру разбор строгий разбор мягкий разбор начало опциональной части конец опциональной части создать форматтер создать форматтер с локалью

TemporalAdjusters

класс TemporalAdjusters первый день месяца последний день месяца первый день следующего месяца первый день года последний день года первый день следующего года первый указанный день в месяце последний указанный день в месяце день недели в месяце следующий указанный день следующий или текущий указанный день предыдущий указанный день предыдущий или текущий указанный день настройщик даты

ChronoUnit

класс ChronoUnit наносекунды микросекунды миллисекунды секунды минуты часы полдня дни недели месяцы годы десятилетия века тысячелетия эры вечность все значения получить по имени получить длительность проверка основанности на дате проверка основанности на времени добавить к временному объекту разница между временными объектами

ChronoField

класс ChronoField наносекунды в секунде наносекунды в дне микросекунды в секунде микросекунды в дне миллисекунды в секунде миллисекунды в дне секунды в минуте секунды в дне минуты в часе минуты в дне часы в AM/PM часы на циферблате в AM/PM часы в дне часы на циферблате в дне AM/PM в дне день недели выровненный день недели в месяце выровненный день недели в году день месяца день года день эпохи выровненная неделя в месяце выровненная неделя в году месяц года пролептический месяц год эры год эра секунды момента секунды смещения все значения получить по имени получить базовую единицу получить единицу диапазона диапазон значений получить из временного объекта проверить значение проверить целочисленное значение отображаемое имя проверка основанности на дате проверка основанности на времени уточненный диапазон

ZoneOffset

класс ZoneOffset смещение UTC минимальное смещение максимальное смещение создание смещения создание смещения в часах создание смещения в часах и минутах создание смещения в часах, минутах и секундах создание смещения в секундах получить общее количество секунд получить идентификатор получить правила доступные идентификаторы зон сравнение смещений получить из TemporalAccessor

TemporalQueries

класс TemporalQueries запрос часового пояса запрос хронологии запрос точности запрос смещения запрос зоны запрос локальной даты запрос локального времени выполнить запрос

TemporalAmount

класс TemporalAmount получить значение получить единицы измерения добавить к временному объекту вычесть из временного объекта

TemporalUnit

класс TemporalUnit получить длительность проверка оценки длительности проверка основанности на дате проверка основанности на времени добавить к временному объекту разница между временными объектами

TemporalField

класс TemporalField получить базовую единицу получить единицу диапазона диапазон значений получить из временного объекта проверка основанности на дате проверка основанности на времени уточненный диапазон получить отображаемое имя настроить временной объект проверить значение проверить целочисленное значение

ValueRange

класс ValueRange создание диапазона проверка фиксированности получить минимальное значение получить наибольший минимум получить наименьший максимум получить максимальное значение проверка валидности значения проверка валидности целого значения проверить значение проверить целочисленное значение

IsoChronology

класс IsoChronology экземпляр ISO хронологии проверка високосного года создание даты создание даты по году и дню текущая дата диапазон поля получить тип календаря получить идентификатор разрешить дату

ZoneRules

класс ZoneRules проверка фиксированного смещения получить смещение получить стандартное смещение получить летнее время проверка летнего времени проверка валидности смещения получить переход получить переходы получить правила переходов следующий переход предыдущий переход

ZoneRulesProvider

класс ZoneRulesProvider доступные идентификаторы зон получить правила получить версии обновить провайдер

JapaneseDate

класс JapaneseDate текущая японская дата создание японской даты получить из TemporalAccessor получить эру получить хронологию диапазон поля установить значение добавить период вычесть период период до даты создать японскую дату-время

ThaiBuddhistDate

класс ThaiBuddhistDate текущая тайская буддийская дата создание тайской буддийской даты получить из TemporalAccessor получить эру получить хронологию диапазон поля установить значение добавить период вычесть период период до даты создать тайскую буддийскую дату-время

HijrahDate

класс HijrahDate текущая исламская дата создание исламской даты получить из TemporalAccessor получить эру получить хронологию диапазон поля установить значение добавить период вычесть период период до даты создать исламскую дату-время длина месяца длина года

MinguoDate

класс MinguoDate текущая дата Миньго создание даты Миньго получить из TemporalAccessor получить эру получить хронологию диапазон поля установить значение добавить период вычесть период период до даты создать дату-время Миньго

Основные ООП концепции

создание класса определение интерфейса абстрактный класс открытый для наследования класс класс данных sealed класс перечисление значений объект-синглтон companion объект внутренний класс окончательный статический член вложенный класс копирование объекта сравнение объектов строковое представление объекта хэш-код объекта сравнение объектов строковое представление объекта проверка типа объекта companion объект параметр типа с информацией о классе

Модификаторы доступа

публичный доступ приватный доступ защищенный доступ внутренний доступ

Наследование

наследование класса реализация интерфейса вызов родительского класса переопределение члена

Конструкторы

блок инициализации объявление конструктора ссылка на текущий объект

Свойства

неизменяемое свойство изменяемое свойство геттер свойства сеттер свойства поле свойства отложенная инициализация ленивая инициализация константа времени компиляции

Аннотации

объявление аннотации цель аннотации retention аннотации повторяемая аннотация аннотация JvmField Java-класс объекта аннотация JvmStatic

Исключения

обработка исключений перехват исключения блок finally генерация исключения

Потоки (Threads)

создание и управление потоками

Корутины

suspend-функция асинхронное выполнение ожидание результата запуск корутины приостановка корутины с возвратом значения приостановка корутины блокирующий контекст корутины переключение контекста корутины область видимости для корутин

Функции-расширения

выполнение блока вызов с контекстом работа с объектом инициализация объекта дополнительное действие