HashMap中只有一個鍵和值如何檢索HashMap中值
Map<String, String> hm = new HashMap<>();
hm.put("one","ele");
現在如何獲取鍵和值從這個並分配給字符串?
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