[英]What is the best way to store a generic List in a Map value?
我正在做關於開發 Dataframe 庫的大學作業(我們應該從 csv、json 和 txt 等文件中導入數據)。 我選擇的數據結構是HashMap<String, ArrayList<Object>>
其中鍵代表列 label,值 (List) 是列值存儲。 當程序讀取文件時,第一行通過一個過濾器,該過濾器確定它是哪種 Object (整數,字符串...),以便以這種方式添加數據( list.add(new Integer(2))
for例如)但我不確定這是否是最好的方法,因為程序應該進行一些操作,例如排序值(比較器)、查詢(謂詞)......考慮到每一列都可以包含一個不同的數據類型。
我還考慮過改用ArrayList<String>
並在必要時轉換值,但不會太理想,我更喜歡先問你。
提前非常感謝。
例子:
LatD LatM LatS NS LonD LonM LonS EW City State
41 5 59 N 80 39 0 W 揚斯敦 OH
轉讓文件: https://drive.google.com/file/d/1Saqiw23vQk7Yoh2csmuH2adcktNzDmjP/view?usp=sharing
我會嘗試使用Guava 的 Multimap而不是自己用 List 值構建 Map 。
另一方面,我會考慮設計。 列數是否始終相同,並且您預先知道有哪些值? 如果答案是肯定的,如何使用具體類型的命名字段創建自定義值 object? 類似於下面的示例,如果需要,可以實現一些比較器等。
public class ValueRow {
private Integer LatD;
...
private String City;
private String State;
...
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.