关于Java:使用hashMAP重新排列文本文件的内容

Contents from text file are rearranged when using hashmap

本问题已经有最佳答案,请猛点这里访问。

我要用一个HASHMAP从TXT文件打印前五个内容。这是一个文本文件的样本。

互联网服务供应商A02承诺嵌入式印象影响A06特级微博客A08有机A09 Reach社会图表用户生成量附属营销A13 Bounce RateA14行动呼吁点击率

等等

这就是我所拥有的

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 final int assumedLineLength = 16;
       File file = new File("src/hw7p1/Acronyms.txt");
     try {
    Scanner scan = new Scanner(file);
     HashMap<String, String> hashMap = new HashMap<String, String>((int)(file.length() / assumedLineLength) * 2);



    while(scan.hasNextLine()) {
        String[] columns = scan.nextLine().split("");
        hashMap.put(columns[0], columns[1]);


    }

    for (String key : hashMap.keySet()) {

    System.out.println(key +"" + hashMap.get(key));}

} catch (IOException e) {
    e.printStackTrace();

}
     }}

这就是我为我的输出所做的

ZZU1

对于一些原因,它混合了一些输出,当它假定要看上面的例子。任何帮助都会受到高度评价。谢谢你


我建议使用Linkedhashmap,因为它保留输入顺序

1
 LinkedHashMap<String, String> hashMap = new LinkedHashMap<String, String>((int)(file.length() / assumedLineLength) * 2);


尝试:

1
2
Map<String, String> hashMap = new LinkedHashMap<String, String>(
                    (int) (file.length() / assumedLineLength) * 2);