web-dev-qa-db-fra.com

Quel est l’équivalent d’un Java HashMap <String, Integer> dans Swift

J'ai un exemple écrit en Java que j'aimerais convertir en Swift. Ci-dessous une section du code. J'apprécierais vraiment si vous pouviez aider.

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();
    ...
}

REMARQUE: entrySet() est une méthode de l'interface Java.util.Map alors que getValue() est une méthode de l'interface Java.util.Map.Entry .

9
Juventus

Je crois que vous pouvez utiliser un dictionnaire. Voici deux façons de faire la partie du dictionnaire.

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

ou essayez ceci qui utilise l'inférence de type

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

comme pour la boucle

var index: Int
for (e, value) in someProtocol  {
    index = value
}
23
Dew Time
let stringIntMapping = [
    "one": 1,
    "two": 2,
]

for (Word, integer) in stringIntMapping {
    //...
    print(Word, integer)
}
2
Alexander

Je suppose que ce sera quelque chose comme ça:

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

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