Rah*_*lli 0 java list hashmap tokenize
所以,我有一个以下列方式编写的文件:
X - Y.
A - B.
X - Z.
A - C.
X - L.
A - N.
基本上,两个实体之间存在关系.
我想将其映射到地图上,以便可以将一个唯一键映射到值列表中.
我想要的是这样的:{X = [Y,Z,L]},{A = [B,C,N]}等......
我认为存储它们的最佳方式是在Map<String, List<String>>.
我记住了以下算法:
Files.readAllLines()以将行存储为a来读取传入文件List<String>.String.split()或StringTokenizer成List<List<String>>这之后我该怎么办?我只需要一个算法,请注意,这不是家庭作业.我正在为自己编写一个简单的Java应用程序来标记这些文件,并将它们导出为CSV.
提前致谢!
小智 5
我的第一个想法是这样做:
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());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1652 次 |
| 最近记录: |