【问题标题】:How to Achieve Map<String,List<String>> map = new HashMap<>(); [closed]如何实现 Map<String,List<String>> map = new HashMap<>(); [关闭]
【发布时间】:2018-06-19 12:56:48
【问题描述】:

我在 .txt 文件中有这样的数据

ClassName | StudentName
----------|----------------
A         | Vinod
B         | Aditya
A         | Deepak
C         | Pavan
B         | Anand
A         | Arihant
C         | Dharmendra
A         | Poem    
C         | ganesh
B         | Paritosh
B         | Paritosh

我需要得到类似的结果 班级名称 a 和班级 A 中的学生名单 班级名称 b 和班级 B 的学生名单 类似

【问题讨论】:

  • 从文件中读取一行 -> 获取密钥 -> 按键获取列表 -> 添加到列表新值。
  • 将您的问题分解为多个步骤...然后告诉我们您遇到的问题。我们不会仅仅根据“要求”来完成您的作业。

标签: java algorithm collections


【解决方案1】:

您可以逐行读取文件并将其存储在List&lt;String&gt; 中。现在假设所有行 a 都将采用该格式:

班级学生姓名

您可以使用Collector 来完成您的任务。

 Map<String, List<String>> collect = list.stream()
            .map(string -> string.split(" "))
            .collect(Collectors.groupingBy(o -> o[0],
                    Collectors.mapping(o -> o[1],
                    Collectors.toList())));

【讨论】:

  • 我需要 1.7 版本
  • @SchiduLuca btw,一旦代码被编辑,我们通常会删除 cmets ;)
猜你喜欢
  • 2011-04-07
  • 1970-01-01
  • 1970-01-01
  • 2021-04-13
  • 2018-02-26
  • 2018-02-25
  • 1970-01-01
  • 2011-11-24
  • 2020-08-01
相关资源
最近更新 更多