Swift 中的 Java HashMap<String,Integer>的等效物是什么

2022-09-01 10:19:31

我有一个用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();
    ...
}

注意:是java.util.Map接口的方法,而java.util.Map.Entry接口的方法。entrySet()getValue()


答案 1

我相信你可以使用字典。以下是执行字典部分的两种方法。

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
}

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

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