Swift. Массивы. Базовые свойства и методы
From AsIsWiki
(Difference between revisions)
(Created page with "<div style='max-width:700px;text-align:justify;'> Назад · [[Swift. Массивы|Оглавлени...") |
|||
Line 2: | Line 2: | ||
[[Swift. Массивы. Многомерные массивы|Назад]] · | [[Swift. Массивы. Многомерные массивы|Назад]] · | ||
[[Swift. Массивы|Оглавление]] · | [[Swift. Массивы|Оглавление]] · | ||
− | [[Swift. Массивы. | + | [[Swift. Массивы. Срезы (ArraySlice)|Дальше]] |
Line 159: | Line 159: | ||
[[Swift. Массивы. Многомерные массивы|Назад]] · | [[Swift. Массивы. Многомерные массивы|Назад]] · | ||
[[Swift. Массивы|Оглавление]] · | [[Swift. Массивы|Оглавление]] · | ||
− | [[Swift. Массивы. | + | [[Swift. Массивы. Срезы (ArraySlice)|Дальше]] |
</div> | </div> |
Revision as of 16:31, 4 November 2021
Назад · Оглавление · Дальше
Количество элементов массива
var m = [1, 2, 3, 4, 5] m.count // 5
Определение пустого массива
var m: [Int] = [] m.count // 0 m.isEmpty // true
Использование count для получения заданного диапазона значений
var m = [1, 2, 3, 4, 5] m[m.count-3 ... m.count-1] // [3, 4, 5]
Получение префикса и суффикса массива
var m = [1, 2, 3, 4, 5] m.prefix(3) // [1, 2, 3] m.suffix(3) // [3, 4, 5] // 3 - количество возвращаемых элементов
Первый и последний элементы массива
var m = [1, 2, 3, 4, 5] m.first // 1 m.last // 5
Добавление нового элемента в конец массива
var m = [1, 2, 3, 4, 5] m.append(9) // [1, 2, 3, 4, 5, 9] m // [1, 2, 3, 4, 5, 9]
Вставка в массив элемента по указанному индексу
var m = [1, 2, 3, 4, 5] m.insert(100, at: 2) // [1, 2, 100, 3, 4, 5] m // [1, 2, 100, 3, 4, 5]
Удаление элемента из массива
var m = [1, 2, 3, 4, 5, 6, 7] m.remove(at: 5) // 6 m.removeFirst() // 1 m.removeLast() // 7 m // [2, 3, 4, 5] // все методы remove возвращают удаляемый элемент
Удаление первых и последних элементов
var m = [1, 2, 3, 4, 5, 6, 7] m.dropFirst() // [2, 3, 4, 5, 6, 7] m.dropLast() // [1, 2, 3, 4, 5, 6] m.dropFirst(2) // [3, 4, 5, 6, 7] m.dropLast(2) // [1, 2, 3, 4, 5] m // [1, 2, 3, 4, 5, 6, 7] // все методы возвращают измененный массив, исходный массив не меняется
Проверка наличия элемента в массиве
var m = [1, 2, 3, 4, 5] m.contains(3) // true m.contains(8) // false
Индекс первого вхождения элемента в массиве
let a = [1, 2, 3, 4, 5, 6, 7] a.firstIndex(of: 5) // 4 a.firstIndex(of: 9) // nil
Максимальный и минимальный элемент
var m = [11, 5, 23, 3, 55, 16, 27] m.max() // 55 m.min() // 3 // методы работают только для Comparable элементов
Для сравнения значений используется хэширование.
Большинство фундаментальных типов данных поддерживают хеширование.
Хэш значения вычисляется по специальному алгоритму, и помещается в свойство hashValue:
var a: Float = 3.5 a.hashValue // 1 396 494 304 867 736 370
Хэширование обеспечивается протоколом Hashable.
Реверс массива
var m = [1, 2, 3, 4, 5, 6, 7] m.reverse() m // [7, 6, 5, 4, 3, 2, 1] - исходный массив изменен
Сортировка массива
var m = [11, 5, 23, 3, 55, 16, 27] m.sorted() // [3, 5, 11, 16, 23, 27, 55] m // [11, 5, 23, 3, 55, 16, 27] - исходный массив не меняется m.sort() // [3, 5, 11, 16, 23, 27, 55] m // [3, 5, 11, 16, 23, 27, 55] - исходный массив изменен
Назад · Оглавление · Дальше