如何检索HashMap中值
HashMap中只有一个键和值如何检索HashMap中值
Map<String, String> hm = new HashMap<>();
hm.put("one","ele");
现在如何获取键和值从这个并分配给字符串?
需要使用Iterator on HashMao
public static void printMap(Map hm) {
String key = "";
String value = "";
for (Entry<String, String> entry : hm.entrySet())
{
key = entry.getKey();
value = entry.getValue();
System.out.println(key + ":" + value);
}
}
只需创建一个简单的CLASSE握住你的数据:
public class Pair {
private String key;
private String value;
public Pair(String k, String v) {
key = k
value = v;
}
public String getKey() {
return key;
}
public String getValue() {
return value;
}
}
而你只需要这个使用它:
Pair pair = new Pair("one", "ele);
如果'Map '只有一个值,那么你不应该真的使用'Map ',而是像这样创建一个容器。迄今最优雅的解决方案。荣誉@StephaneM。不过,我会在构造函数中使用'this'。并正确缩进课程代码! – Emz 2014-12-08 09:22:10
有时我使用这种方法,这里的问题是,您需要非常确定这不会通过您的应用程序发展,因为随着时间的发展,您将会一遍又一遍地重新发明*,写入依赖类,然后是对的集合,那么你不确定它是否有一对集合,那么你将发明自己的集合类...:D – 2014-12-08 09:24:01
只需遍历它们
for (Entry<String, String> entry : hm.entrySet())
{
String key = entry.getKey();
String value = entry.getValue();
System.out.println(key + ":" + value);
}
而且你也不需要使用HashMap,因为你只有1个键值对。
为什么要一次迭代一个入口地图? – iozee 2014-12-08 09:11:21
for (Map.Entry<String, String> entry : hm.entrySet()){
System.out.println(entry.getKey() + "=" + entry.getValue());
}
您需要迭代地图值。由于地图无法为您提供索引访问值。
Map<String, String> hm = new HashMap<String, String>();
hm.put("one","ele");
Set<Entry<String, String>> entrySet = hm.entrySet();
for (Entry<String, String> entry : entrySet)
{
System.out.println(entry.getKey()+ " " + entry.getValue());
}
,或者如果你有钥匙,你可以使用
String value = hm.get(key);
它会回报你的值对象。
if (map.entrySet().size() == 1) {
Entry<String, String> next = map.entrySet().iterator().next();
}
为什么你使用'HashMap'如果你有一个键和值? – spoko 2014-12-08 08:59:37
顺便说一下,你不觉得这可爱,这...没有违法OP,但平庸的问题得到七个类似的答案,而更复杂和整体更好的问题得到一个或没有? – spoko 2014-12-08 09:18:44
@spoko这也取决于回答的时间。为什么要在这里提到? – Emz 2014-12-08 09:23:01