Swift. Словари. Создание и удаление

From AsIsWiki
(Difference between revisions)
Jump to: navigation, search
(Created page with "<div style='max-width:700px;text-align:justify;'> Назад · Оглавление ...")
 
Line 3: Line 3:
 
[[Swift|Оглавление]] ·
 
[[Swift|Оглавление]] ·
 
[[Swift. Словари. ?|Дальше]]
 
[[Swift. Словари. ?|Дальше]]
 +
  
 
==Термины==
 
==Термины==

Revision as of 11:13, 20 March 2022

Назад · Оглавление · Дальше


Contents

Термины

Dictionary (словарь) - неупорядоченная коллекция элементов одного типа,
с доступом к значению элемента по ключу.

Элемент словаря - это пара ключ:значение

Все ключи словаря:

  • должны быть уникальны
  • должны быть одного типа данных
  • должны соответствовать протоколу Hashable

Все значения словаря должны быть одного типа данных.

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

1. С помощью литерала словаря:

var a = ["pen":"ручка", "dog":"собака", "clock":"часы"]

a  // ["clock": "часы", "pen": "ручка", "dog": "собака"]

2. Из списка кортежей (ключ, значение):

var a = Dictionary(dictionaryLiteral: (1, "one"), (2, "two"), (3, "three"))

a  // [3: "three", 1: "one", 2: "two"]

3. Из массива кортежей (ключ, значение):

let m = [(1, "qwe"), (2, "wer"), (3, "ert")]

let a = Dictionary(uniqueKeysWithValues: m)

a  // [3: "ert", 1: "qwe", 2: "wer"]

4. Из двух последовательностей:

let a = ["pi", "e", "g"]
let b = [3.14, 2.71, 9.81]

let d = Dictionary(uniqueKeysWithValues: zip(a, b))

d  // ["e": 2.71, "g": 9.81, "pi": 3.14]

Функция zip(_:_:) формирует последовательность пар значений.
Каждая пара состоит из элементов двух базовых последовательностей.

Тип данных словаря

Dictionary<Т1, Т2>  // полная форма

[Т1:Т2]             // краткая форма

T1: Hashable        // ключ
T2: Any             // значение

Тип данных задан неявно:

var d = [200: "success", 300: "warning", 400: "error"]

type(of: d)  // Dictionary<Int, String>.Type

Тип данных задан явно:

var a: Dictionary<Int, Bool> = [100: false, 200: true, 400: true]

var b: [String:String] = ["Jonh":"Dave", "Eleonor":"Green"]

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

var a: [String:Int] = [:]          // литерал пустого словаря

var b = Dictionary<String, Int>()  // функция без входных аргументов

a  // [:]
b  // [:]

Удаление всех значений словаря

Пример 1

var dic = ["RU":"Россия", "GB":"Великобритания", "US":"США"]

dic = [:]  // [:]

Пример 2

var birthYear = [
    1991: ["John", "Ann", "Vasiliy"],
    1993: ["Alex", "Boris"]
]

birthYear  // [1991: ["John", "Ann", "Vasiliy"], 1993: ["Alex", "Boris"]]

birthYear = [:]  // [:]

Тип словаря birthYear:

[Int: [String]] или Dictionary<Int, Array<String>>



Назад · Оглавление · Дальше

Personal tools
Namespaces

Variants
Actions
Navigation
Tools