[英]How to add a new bucket value in HashMap?
我已經寫了這個小代碼(如下)-
其顯示輸出Singh
。 我想知道如何用單個鍵s將Patel和Singh的兩個值相加?
import java.util.*;
public class Practice {
public static void main(String [] args)
{
String s="Sameer";
HashMap<String,String> map=new HashMap();
map.put(s, "Patel");
map.put(s, "Singh");
String value=map.get(s);
System.out.println(value);
}
}
就像s-> Patel,Singh。 s指向兩個值。
你不能 地圖的基本思想是擁有唯一的鑰匙
不可以,因為映射中的每個值都有唯一的鍵,所以無法完成。
您對這些概念感到困惑。 我建議先了解HashMap的工作原理。 Link1和Link2
我認為您關心的是 在同一個存儲桶中添加新的條目對象 ,但這並不意味着您可以用相同的鍵映射兩個值, 否,完全不!
HashMap中的存儲桶值存儲為Entry
類的對象,該類具有作為單鍵和單個值的屬性 (Value can be simple object or Collection Object).
但是,可以通過使用鍵映射的Collection對象來實現所需的功能,然后可以遍歷collection對象以讀取所有值。
以下是使用列表的示例-
import java.util.*;
class Practice {
public static void main(String [] args)
{
String s="Sameer";
HashMap<String,List<String>> map=new HashMap();
List<String> lastNameList = new ArrayList<String>();
lastNameList.add("Patel");
lastNameList.add("Singh");
map.put(s, lastNameList);
List<String> getList=(ArrayList)map.get(s);
for(String val : getList) {
System.out.println(val);
}
}
}
現在輸出將是-
Patel
Singh
您可以將此想法擴展到任何級別。 由你決定。
希望對您有所幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.