[英]trouble adding values to a new List from a list stored in a hashmap - Java
我一直在尋找一種方法來做到這一點,這讓我發瘋了!
我想做的事情如下:
我有一個HashMap:
qualifiedCompetitors = new HashMap<String, List<String>>();
我分配給哈希圖的值是:
String[] events = {"Helicopter", "Amphibious",
"4x4", "Fire Engine"};
String[][] competitors =
{
{"Greg", "Will", "Fleur", "Bill", "Bella", "Sally", "Olive", "Sal", "Dora", "Chas"},
{"Yuri", "Abe", "Tim", "Fleur", "Bonnie", "Vera", "Ed", "Dan", "Jill", "Rose", "Zoe"},
{"Tim", "Fleur", "Will", "Bill", "Bella", "Dan", "Jill", "Rose", "Greg", "Abe", "Sally", "Yuri", "Olive", "Sal", "Jim"},
{"Jill", "Rose", "Greg", "Abe", "Bonnie", "Vera", "Ed", "Zoe", "Ben", "Freda", "Chuck", "Fred"}
};
關鍵是事件的名稱,列表是競爭對手的列表。 我想建立一個所有競爭對手的新清單。
所以我嘗試了很多類似的事情:
ListOfAllqualifiedCompetitors = new ArrayList(qualifiedCompetitors.values());
然后遍歷哈希圖:
Collection allCompetitors = qualifiedCompetitors.values();
System.out.println("Values of Collection created from Hashtable are :");
//iterate through the collection
Iterator itr = allDrivers.iterator();
while(itr.hasNext())
System.out.println(itr.next());
看看我得到什么價位,這很好,但是我不能再將它們添加到新列表中嗎? 我知道我缺少明顯的建議嗎?
我想你說的是,你有地圖String
到List<String>
,並且希望所有的積累List<String>
成一個長名單。 如果是這樣的話:
final Map<String, List<String>> eventsToCompetitors;
final List<String> allCompetitors;
eventsToCompetitors = ...
allCompetitors = new ArrayList<String>();
for (Collection<String> competitors : eventsToCompetitors.values())
{
allCompetitors.addAll(competitors);
}
List<String> allCompetitors = new ArrayList<String>();
for(Set<String> competitors : qualifiedCompetitors.values()) {
allCompetitors.addAll(competitors);
}
你是這個意思嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.