0

我有一个屏幕,用户在其中选择他/她想要删除的项目,然后我将他/她的选择存储到一个整数数组列表中(基于他们在 listView 上单击的位置)。

然后,我将他们想要删除的项目传递给一个函数,在该函数中,我实际上将它们从包含所有信息的哈希表中删除。但由于某种原因,它只是没有从哈希表中删除。我已经测试并查看了我用来访问数据的所有变量,它们是正确的。我不确定为什么它没有删除我告诉它的内容..

这是功能:

for (Entry<Integer, ArrayList<Deck>> i : listOfDecks.entrySet()) {
                    for (int p = 0; p < i.getValue().size(); p++) {
                        if (i.getValue().get(p).getTitle().equals(deckTitle)) {
                            for (int z = 0; z < deletedItems.size(); z++) {
                                listOfDecks.get(i.getKey()).get(p).getDeck().remove(deletedItems.get(z));

                            }
                        }
                    }
                }

deletedItems 是一个数组列表,其中包含用户选择的内容作为他们想要删除的项目。

4

1 回答 1

1

我看到的是您正在调用 Deck.remove(int) 所以您不是从哈希表中删除,而是从甲板中删除。

Deck 类的这个方法 remove(int) 有什么作用?

于 2013-01-23T16:40:48.587 回答