我要做的是基本上删除哈希表中的一个位置,然后将该哈希表保存到用户手机上的文件中。哈希表只有字符串,因此不涉及序列化。哈希表的布局如下:
密钥 - >整数
价值 - > ArrayList的()
在arrayList中只是字符串值。
我遇到的问题是当我删除arrayList中的一个位置时,如果它是该arrayList中的最后一个值,则表示哈希表中的该位置已变为null。由于某种原因,我不能检查这种情况...我已经尝试了各种功能,似乎没有工作。这是我从哈希表中删除值的代码
// delete the assignment from the public list
for (int i = 0; i < allAssignments.size(); i++) {
//Here is where I get a null pointer-vvv
for (int p = 0; p < allAssignments.get(i).size(); p++) {
if (allAssignments.get(i).get(p).getTitle().equals(title)
&& allAssignments.get(i).get(p)
.getDate_due().equals(Date)) {
allAssignments.get(i).remove(p);
}
}
}
如果我按照4-3-2-1的顺序删除位置,删除工作完全正常,但是如果我尝试删除第一个位置然后尝试删除第二个位置它会给我一个空指针,因为它正在尝试先进入第一个位置。有什么建议吗?
答案 0 :(得分:1)