НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
184 of 1310 menu

Тип ByteArray

Тип ByteArray представляет собой массив примитивных значений типа Byte. Это эффективная структура данных для работы с бинарными данными, файлами, сетевыми пакетами и другими низкоуровневыми операциями. Размер массива фиксирован при создании и не может быть изменен.

Создание ByteArray

// Создание массива заданного размера (заполняется нулями) val byteArray1 = ByteArray(5) // Создание массива с помощью фабричной функции val byteArray2 = byteArrayOf(1, 2, 3, 4, 5) // Создание массива с инициализацией через лямбду val byteArray3 = ByteArray(3) { index -> (index * 10).toByte() }

Доступ к элементам

Доступ к элементам массива осуществляется через оператор [] или методы get и set:

val bytes = byteArrayOf(10, 20, 30, 40, 50) // Получение элемента по индексу val firstElement = bytes[0] val secondElement = bytes.get(1) // Установка элемента по индексу bytes[2] = 35 bytes.set(3, 45) println("Array: ${bytes.contentToString()}")

Результат выполнения кода:

Array: [10, 20, 35, 45, 50]

Свойства и основные методы

val bytes = byteArrayOf(5, 10, 15, 20, 25) // Получение размера массива val size = bytes.size // Получение первого и последнего элемента val first = bytes.first() val last = bytes.last() // Проверка на пустоту val isEmpty = bytes.isEmpty() val isNotEmpty = bytes.isNotEmpty() println("Size: $size, First: $first, Last: $last") println("Is empty: $isEmpty, Is not empty: $isNotEmpty")

Результат выполнения кода:

Size: 5, First: 5, Last: 25 Is empty: false, Is not empty: true

Итерация по массиву

val bytes = byteArrayOf(1, 2, 3, 4, 5) // Итерация с помощью for for (byte in bytes) { println("Byte: $byte") } // Итерация с помощью forEach bytes.forEach { byte -> println("Element: $byte") } // Итерация с индексом for (index in bytes.indices) { println("Index: $index, Value: ${bytes[index]}") }

Преобразование в другие типы

val bytes = byteArrayOf(72, 101, 108, 108, 111) // ASCII коды для "Hello" // Преобразование в строку val str = String(bytes) println("String: $str") // Преобразование в список val list = bytes.toList() println("List: $list") // Преобразование в множество val set = bytes.toSet() println("Set: $set")

Результат выполнения кода:

String: Hello List: [72, 101, 108, 108, 111] Set: [72, 101, 108, 111]

Поиск и фильтрация

val bytes = byteArrayOf(10, 20, 30, 40, 50, 20, 10) // Поиск первого вхождения val first20 = bytes.indexOf(20) val last10 = bytes.lastIndexOf(10) // Поиск элемента по условию val firstGreater25 = bytes.find { it > 25 } val allGreater15 = bytes.filter { it > 15 } println("First 20 at index: $first20") println("Last 10 at index: $last10") println("First greater than 25: $firstGreater25") println("All greater than 15: $allGreater15")

Результат выполнения кода:

First 20 at index: 1 Last 10 at index: 6 First greater than 25: 30 All greater than 15: [20, 30, 40, 50, 20]

Копирование и преобразование

val original = byteArrayOf(1, 2, 3, 4, 5) // Копирование массива val copy = original.copyOf() // Копирование части массива val partialCopy = original.copyOfRange(1, 4) // Преобразование с помощью map val doubled = original.map { it * 2 }.toByteArray() println("Original: ${original.contentToString()}") println("Copy: ${copy.contentToString()}") println("Partial copy: ${partialCopy.contentToString()}") println("Doubled: ${doubled.contentToString()}")

Результат выполнения кода:

Original: [1, 2, 3, 4, 5] Copy: [1, 2, 3, 4, 5] Partial copy: [2, 3, 4] Doubled: [2, 4, 6, 8, 10]

Сортировка

val bytes = byteArrayOf(5, 3, 8, 1, 2) // Сортировка исходного массива bytes.sort() println("Sorted: ${bytes.contentToString()}") // Сортировка в обратном порядке bytes.sortDescending() println("Descending: ${bytes.contentToString()}")

Результат выполнения кода:

Sorted: [1, 2, 3, 5, 8] Descending: [8, 5, 3, 2, 1]

Смотрите также

  • тип Byte,
    который представляет собой примитивный байт
  • тип IntArray,
    который представляет массив целых чисел
  • тип CharArray,
    который представляет массив символов
  • тип Array,
    который представляет универсальный массив объектов
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить