gpt4 book ai didi

java - 读取文件并映射到 Map>

转载 作者:行者123 更新时间:2023-12-01 06:49:53 24 4
gpt4 key购买 nike

所以,我有一个按以下方式编写的文件:

X - Y

A-B

X - Z

A-C

X - L

A - N

基本上,两个实体之间存在关系。

我想将其映射到 map 上,以便可以将一个唯一的键映射到值列表上。

我想要的是这样的:{X = [Y,Z,L]},{A = [B,C,N]},等等...

<小时/>

我认为存储它们的最佳方式是在 Map<String, List<String>> 中.

我想到了以下算法:

  • 使用 Files.readAllLines() 读取传入文件将这些行存储为 List<String> .
  • 使用 String.split() 对行进行标记或StringTokenizer进入List<List<String>>

此后我该怎么办?我只需要一个算法,请注意,这不是家庭作业。我正在为自己编写一个简单的 Java 应用程序,用于对此类文件进行标记并将其导出到 CSV。

提前致谢!

最佳答案

我的第一个想法是这样做:

    List<String> lines = new ArrayList<>(Arrays.asList("X - Y", "A - B", "X - Z", "A - C", "X - L", "A - N"));
Map<String, List<String>> pairs = new HashMap<>();
for (String line : lines) {
String[] pair = line.split("-");
String key = pair[0].trim();
String val = pair[1].trim();
List<String> valueFromMap = pairs.get(key);
if(valueFromMap == null) {
valueFromMap = new ArrayList<>();
}
valueFromMap.add(val);
pairs.put(key, valueFromMap);
}
System.out.println(pairs.toString());

关于java - 读取文件并映射到 Map<String, List<String>>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37773233/

24 4 0
文章推荐: python - 如何为Python指定虚拟环境
文章推荐: jquery - 是 :checked not working while using Jquery 1. 7
文章推荐: jquery - 如何使用 jQuery 使
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com