我正在使用 Java,我有一个 txt 文件,其中包含近 700 000 行,如下所示:
Kowalski
1500
Kowalski
1200
Smith
3200
Black
2200
Kowalski
1100
...
我需要任何数据结构,将姓氏分配给现金存款列表。
[Kowalski] => [1500, 1200, 1100, ...]
[Smith] => [3200, ...]
[Black] => [2200, ...]
我不想白费力气,Java有提供什么数据结构吗?
最佳答案
您可以使用 Map<String,List<Integer>>
:
Map<String, List<Integer>> map = new HashMap<>();
Scanner sc = new Scanner(new File("myfile.txt"));
while(sc.hasNextLine()) {
String name = sc.nextLine();
int deposit = Integer.parseInt(sc.nextLine());
List<Integer> deposits = map.get(name);
if(deposits == null) {
deposits = new ArrayList<>();
map.put(name, deposits);
}
deposits.add(deposit);
}
关于java - 将姓氏分配给现金存款列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36037535/