Что такое эквивалент Java HashMap в Swift

у меня есть пример, написанный на Java, который я хотел бы преобразовать в Swift. Ниже приведен раздел кода. Я был бы очень признателен, если бы вы помогли.

Map<String, Integer> someProtocol = new HashMap<>();
someProtocol.put("one", Integer.valueOf(1));
someProtocol.put("two", Integer.valueOf(2));

for (Map.Entry<String, Integer> e : someProtocol.entrySet() {
    int index = e.getValue();
    ...
}

Примечание: entrySet() метод java.util.Map интерфейс, тогда как getValue() - Это метод java.util.Map.Entry интерфейс.

3 ответов


Я считаю, что вы можете использовать словарь. Вот два способа сделать словарную часть.

var someProtocol = [String : Int]()
someProtocol["one"] = 1
someProtocol["two"] = 2

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

var someProtocol = [
    "one" : 1,
    "two" : 2
]

что касается цикла for

var index: Int
for (e, value) in someProtocol  {
    index = value
}

let stringIntMapping = [
    "one": 1,
    "two": 2,
]

for (word, integer) in stringIntMapping {
    //...
    print(word, integer)
}

Я думаю, это будет что-то вроде этого:

let someProtocol = [
    "one" : 1,
    "two" : 2
]

for (key, value) in someProtocol {
    var index = value
}