gpt4 book ai didi

java - 使用 hashmap 存储在两个不同的映射中

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

我有一个包含两个不同条目的文件,一个来自男性,另一个来自女性。尝试读取文件并使用 hashmap 进行存储,以名称作为键,相应的 ID 作为值。有人可以帮我弄清楚如何将它们存储在两个不同的 map 中吗?换句话说,如果男性将其定向到(map.males),如果女性将其定向到(map.females)。非常感谢。这是示例输入和我的代码,没有方向!!!!!!

**Males**
Rob 1
John 3
Josh 7
Anand 9
Paul 5
Norm 8
Alex 4

**Females**
Kally 43
Kate 54
Mary 23
Amanda 13
Mariam 15
Alyssa 18
Christina 24



import java.io.*;
import java.util.*;

class ReadFileAndStoreHashmap {
public static void main(String[] args) {
try{
Scanner scanner = new Scanner(new FileReader("C:\"));
HashMap<String, String> map = new LinkedHashMap<String, String>();
while (scanner.hasNextLine()) {
String[] columns = scanner.nextLine().split(" ");
if(columns.length == 2)
map.put(columns[0], columns[1]);
System.out.println(map);
}
}catch (Exception e){
System.out.println(e.toString());
}}}

最佳答案

不太清楚你到底在问什么。如果两者都在一个文件中并且由女性分隔,那么当您看到这一点时只需切换 map 即可:

import java.io.*;
import java.util.*;

class ReadFileAndStoreHashmap {
public static void main(String[] args) {
try{
Scanner scanner = new Scanner(new FileReader("C:\"));
HashMap<String, String> maleMap = new LinkedHashMap<String, String>();
HashMap<String, String> femaleMap = new LinkedHashMap<String, String>();
Map<String,String> currentMap = maleMap;
while (scanner.hasNextLine()) {
String nextLine = scanner.nextLine();
if (nextLine.equals("**Females**") {
currentMap = femaleMap;
} else {
String[] columns = nextLine.split(" ");
if(columns.length == 2) {
currentMap.put(columns[0], columns[1]);
}
}
System.out.println(currentMap);
}
}catch (Exception e){
System.out.println(e.toString());
}}}

关于java - 使用 hashmap 存储在两个不同的映射中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11655964/

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