web-dev-qa-db-de.com

Was ist das Äquivalent eines Java HashMap <String, Integer> in Swift?

Ich habe ein in Java geschriebenes Beispiel, das ich in Swift konvertieren möchte. Unten ist ein Abschnitt des Codes. Ich würde mich sehr freuen, wenn Sie helfen können.

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

HINWEIS: entrySet() ist eine Methode der Java.util.Map Schnittstelle, wohingegen getValue() eine Methode der Java.util.Map.Entry Schnittstelle ist.

9
Juventus

Ich glaube, Sie können ein Wörterbuch verwenden. Es gibt zwei Möglichkeiten, den Wörterbuchteil auszuführen.

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

oder versuchen Sie es mit Typinferenz

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

wie für die for-Schleife

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

Ich denke, es wird so etwas sein:

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

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