Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java-从列表中删除对象时出现问题_Java_List - Fatal编程技术网

java-从列表中删除对象时出现问题

java-从列表中删除对象时出现问题,java,list,Java,List,我在从列表中删除对象时遇到问题: 问题是,在选择选项3时: “删除特定联系人” 它显示我要删除的对象, 但是删除不会发生在文件中的对象上 更新1:我知道我需要将列表重新分配到文件中, 有什么建议吗? 更新2:我想覆盖文件,我怎么能调用所有列表, 而不是只有一个对象-ListName.get(列表中的对象数) 更新3:因为我没有找到任何方法来获取所有的列表,所以我就这样做了 for (int i = 0; i <contacts.size() ; i++) { if

我在从列表中删除对象时遇到问题: 问题是,在选择选项3时: “删除特定联系人” 它显示我要删除的对象, 但是删除不会发生在文件中的对象上

更新1:我知道我需要将列表重新分配到文件中, 有什么建议吗? 更新2:我想覆盖文件,我怎么能调用所有列表, 而不是只有一个对象-ListName.get(列表中的对象数) 更新3:因为我没有找到任何方法来获取所有的列表,所以我就这样做了

for (int i = 0; i <contacts.size() ; i++) {
            if (i==0) {
                IO.write(fileName, contacts.get(i));
            }if (i>=1){
                IO.append(fileName,"\n"+ contacts.get(i));
            }
        }

这里有几件重要的事情你需要了解。永久存储数据的文件内容(例如硬盘)。临时驻留在RAM中的列表对象。这两个是完全不同的,不相连的。当您的程序处理列表对象时,它只影响该临时列表。为了用列表数据的更改来更新文件,程序必须显式地处理文件的更新。将内容视为数据的文件操作本身就是一个复杂的领域。您的代码段引用了其他库,如
List contacts=IO.read(fileName)。您应该查阅该库以了解将数据重新写入文件的可能选择。

您的
deletePhoneBookContact
没有将您的更改写入文件,那么为什么您希望文件的内容发生更改?您从文件中读取一个列表,然后从列表中删除该项目。这与文件无关,因此文件当然不会更改。非常感谢,我如何将其与文件关联?