首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用hashmap时,将重新排列文本文件中的内容。

使用hashmap时,将重新排列文本文件中的内容。
EN

Stack Overflow用户
提问于 2017-11-14 22:03:21
回答 2查看 63关注 0票数 0

我必须使用HashMap从txt文件中打印出前5项内容。下面是文本文件中内容的示例。

A01网络应用程序

A02约定

A03嵌入

A04印象

A05影响器

A06提及

A07微博

A08有机

A09达达

A10社会图

A11用户生成的内容

A12代销商营销

A13反弹率

A14行动呼吁

A15点击率

等等..。

以下是我到目前为止所拥有的:

代码语言:javascript
复制
 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();

}
     }}

这就是我的输出所得到的:

代码语言:javascript
复制
 A87 Big
 A88 Data
 A01 Web
 A89 Database
 A02 Engagement
 A03 Embedding
 A04 Impressions
 A05 Influencer
 A06 Mention
 A07 Microblogging
 A08 Organic
 A09 Reach
 A90 Data
 A91 Data
 A92 Relational
 A93 Hybrid
 A94 IDE
 A95 Native
 A96 NFC
 A97 Responsive
 A10 Social
 A98 SDK
 A11 User-generated
 A99 Content

由于某种原因,当它看起来像上面的例子时,它正在混合一些输出。任何帮助都将不胜感激。谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-11-14 22:14:50

尝试:

代码语言:javascript
复制
Map<String, String> hashMap = new LinkedHashMap<String, String>(
                    (int) (file.length() / assumedLineLength) * 2);
票数 1
EN

Stack Overflow用户

发布于 2017-11-14 22:07:39

我建议使用LinkedHashMap,因为它保留了输入的顺序。

代码语言:javascript
复制
 LinkedHashMap<String, String> hashMap = new LinkedHashMap<String, String>((int)(file.length() / assumedLineLength) * 2);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47295968

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档