簡體   English   中英

將通用列表存儲在 Map 值中的最佳方法是什么?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM