gpt4 book ai didi

java - 如何从文本文件中读取 map 特定数据?

转载 作者:行者123 更新时间:2023-12-01 09:24:54 25 4
gpt4 key购买 nike

我需要从表单的数据文件中读取:

1,14.23,1.71,2.43,15.6,127,2.8,3.06,.28,2.29,5.64,1.04,3.92,10652,12.72,1.81,2.2,18.8,86,2.2,2.53,.26,1.77,3.9,1.16,3.14,7142,12.08,1.13,2.51,24,78,2,1.58,.4,1.4,2.2,1.31,2.72,630......................................3,13.11,1.9,2.75,25.5,116,2.2,1.28,.26,1.56,7.1,.61,1.33,4253,13.23,3.3,2.28,18.5,98,1.8,.83,.61,1.87,10.52,.56,1.51,675......等等

其中第一个符号是键,其余的是值。

我尝试这样做

 Map<String, String> map = new HashMap<String, String>();
BufferedReader in = new BufferedReader(new FileReader("wine.data.txt"));
String line = "";
while ((line = in.readLine()) != null) {
String parts[] = line.split(",");
for(int i = 1; i < parts.length; i++)
map.put(parts[0], parts[i]);
System.out.println(map.toString());
}
in.close();

但我只看到每行的最后一个数字。如何解决?

最佳答案

每次put被调用时,指定键的值将被替换。

您想要将结果存储在 Map<String, List<String>> 中:

String parts[] = line.split(",");
List<String> values = map.get(parts[0]);
if(values == null) { // first time this key is found -> create new list
values = new ArrayList<>();
map.put(parts[0], values);
}
for(int i = 1; i < parts.length; i++) {
values.add(parts[i]);
}

关于java - 如何从文本文件中读取 map 特定数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39918590/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com