Cha*_*ntz 6 python java dictionary hashmap
我需要将python代码转换为等效的java代码.Python通过提供许多快捷功能,使开发人员的生活变得非常轻松.但是现在我需要将它迁移到Java.我想知道java中dict对象的等价物是什么?我尝试过使用HashMap,但生活很糟糕.首先考虑一下,
# Nodes is a dictionary -> Key : (Name, Strength)
for node, (name, strength) in nodes.items():
nodes[node] = (name, new_strength)
Run Code Online (Sandbox Code Playgroud)
那么如何将其转换为Java呢?对于初学者我使用HashMap对象,所以,
Map<Integer, List> nodesMap = new HashMap<Integer,List>();
/* For iterating over the map */
Iterator updateNodeStrengthIterator = nodesMap.entrySet().iterator();
while(updateNodeStrengthIterator.hasNext()){ }
Run Code Online (Sandbox Code Playgroud)
我的问题是获取包含名称和强度的List部分,然后更新Strength部分.有没有可行的方法呢?我应该考虑一些不同的数据结构吗?请帮忙.
为(名称,强度)元组创建一个类可能是最简单的:
class NameStrength {
public String name;
public String strength;
}
Run Code Online (Sandbox Code Playgroud)
如果合适的话,添加 getter、setter 和构造函数。
然后您可以在地图中使用新类:
Map<Integer, NameStrength> nodesMap = new HashMap<Integer, NameStrength>();
Run Code Online (Sandbox Code Playgroud)
在 Java 5 及更高版本中,您可以像这样进行迭代:
for (NameStrength nameStrength : nodesMap.values()) {}
Run Code Online (Sandbox Code Playgroud)
或者像这样:
for (Entry<Integer, NameStrength> entry : nodesMap.entrySet()) {}
Run Code Online (Sandbox Code Playgroud)