我正在尝试创建一个员工哈希表,我需要一些帮助。我有一个雇员对象列表(人员),以及他们的用户名字符串列表(UsersToCompare)。我想知道是否有一种简单的方法可以将字符串列表(UsersToCompare)设置为哈希表中的键,将对象列表(People)设置为值?这是我目前正在处理的代码:
`public class HashTable {
static List<String> UsersToCompare = new ArrayList<String>();
static List<Entry> People = new ArrayList<>();
Hashtable<String, Object> theTable;
public void readFromFile() {
BufferedReader br = null;
String csvFile = "employee_data.csv";
String line = "";
String cvsSplitBy = ",";
try {
br = new BufferedReader(new FileReader(csvFile));
while ((line = br.readLine()) != null) {
String[] Labels = line.split(cvsSplitBy);
UsersToCompare.add(Labels[0]);
Entry entry = new Entry(Labels[0], Labels[1], Labels[2], Labels[3], Labels[4], Labels[5], Labels[6],
Labels[7]);
People.add(entry);
// theTable.put(Labels[0], entry); ////null pointer exception
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (br != null) {
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}`
标签[0]是CSV文件的第一列,我在其中检索用户名。 UsersToCompare和People列表都填充了我想用作值和键的内容,我只是不知道如何正确设置它们。上面你可以看到我试图在读取文件时将它们放入,但是我得到了一个空指针异常。此外,在将对象放入人员列表之前,entry是对象的名称。有很多字符串分隔,因为它包含用户名,姓名,种族,性别,SSN等所有内容。