如何从文本文件中填写哈希映射<字符串,链接列表<String>>?



我有一个带有表格的txt文件:

Key,Value,Value,Value
Key,Value,Value,Value,Value,Value,Value
Key,Value,Value,Value,Value,Value

我想将所有具有其值的键放在哈希图中。但是,我不知道如何将键与值或填充链接清单的节点的值分开。我尝试使用.split(","),但我认为我没有正确使用它。

您需要按行读取文件。通过每行读取,将其分开以将字符串分开,然后将数组转换为linkedlist。然后删除第一个元素并将其分配给变量,因为它是一个键,而不是一个值。然后将变量与键和linkedlist一起添加为hashmap。

记住将您的文件名更改为您的内容。

public static void main(String[] args) {
    HashMap< String, LinkedList<String> > hm = new HashMap< String, LinkedList<String> >();
    String line, key;
    LinkedList<String> lineSplit;
    try {
        BufferedReader br = new BufferedReader( new FileReader( new File("data.txt") ) );
        while( ( line = br.readLine() ) != null ){
            lineSplit = new LinkedList<String>( Arrays.asList(line.split(",")) );
            key = lineSplit.removeFirst();             
            hm.put(key, lineSplit);
        }
        br.close();
    } catch( IOException e ){
        e.printStackTrace();
    }
}

一个循环穿过线路。对于每行,用逗号将字符串分开,并创建一个带有所有值的新链接列表,然后将列表添加到密钥下的主哈希地图(来自同一行)。

最新更新