![](/img/trans.png)
[英]How to get an HashMap<String,ArrayList<String>> from a given String Java
[英]how to get the arraylist from the hashmap in java?
import java.io.BufferedReader;
import java.io.FileReader;
import java.util.*;
//import java.util.Map.Entry;
public class teste{
public static void main(String[] args){
}
}
我只想要每個鍵的最終arraylist
用於顯示,即:
密鑰的返回值: [silicone baby dolls for sale, ego ce4, venus, sample,blue]
密鑰的返回值: [apple, banana, key, kill]
不需要為Keyword
和Alternate
單獨列出。
您需要的是Map
,它具有csv數據中的Keyword
作為Keyword
,而List
的值包含與Keyword
對應的所有Alternate
值。
Map<String, List<String>> alternateMap = new HashMap<>();
請注意,使用映射中已存在的鍵將值放入映射中將覆蓋先前的值。 因此,您僅需在第一次找到新Keyword
時才放入列表,即,當嘗試添加關鍵字的替代項時,請先檢查地圖中是否存在相應的列表,如果不存在,則創建一個列表並放入地圖中,然后將“ Alternate
添加到該列表。
while(...) {
String keyword = ...;
String alternate = ...;
// check whether the list for keyword is present
List<String> alternateList = alternateMap.get(keyword);
if(alternateList == null) {
alternateList = new ArrayList<>();
alternateMap.put(keyword, alternateList);
}
alternateList.add(alternate);
}
// printing the result
for(Map.Entry<String, List<String>> alternateEntry : alternateMap.entrySet()) {
System.out.println(alternateEntry.getKey() + ": " +
alternateEntry.getValue().toString());
}
編輯
運行代碼后,它似乎可以正常工作。 該列表由entry.getValue()
返回。 只需將其添加到您的主要方法的末尾:
for(Entry<String, ArrayList<String>> entry : example.items.entrySet()) {
System.out.println(entry.getKey() + ": " + entry.getValue().toString());
}
它應該給你想要的輸出
ego kit: [silicone baby dolls for sale, ego ce4, venus, sample, blue]
samsung: [apple, banana, key, kill]
注意:上面的代碼尚未編譯,但應提示您如何映射數據。
HashMap hm=new HashMap();
ArrayList ln=new ArrayList();
ln.add("hi");
ln.add("heloo");
ln.add(123);
hm.put("somename", ln);
ArrayList ls=(ArrayList)hm.get("somename");
ArrayList<String> values= new ArrayList<>(hashmap.values());
String
可以是任何其他對象類型
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.