私がやろうとしているのは、基本的にハッシュテーブルの1つの位置を削除してから、そのハッシュテーブルをユーザーの電話のファイルに保存することです。ハッシュテーブルには文字列しかないため、シリアル化は必要ありません。ハッシュテーブルのレイアウトは次のとおりです。
キー->整数
値->ArrayList()
arrayListには、単なる文字列値が含まれています。
私が抱えている問題は、arrayListの1つの位置を削除するときに、それがその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のように順番に位置を削除すると、削除は完全に機能しますが、1番目の位置を削除してから、2番目の位置を削除しようとすると、にアクセスしようとしているため、nullポインタが表示されます。 1位が先。助言がありますか?