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,我有一个列表正在意外更新。我有一个返回列表的函数。我想用不同的参数调用它两次,并将结果存储在一个长列表中 List<URL> resultUrls = new ArrayList<URL>(); webPages.runSearch(parameter1); // runs search and stores result in a public variable of the object webPages resultUrls =

我有一个列表正在意外更新。我有一个返回列表的函数。我想用不同的参数调用它两次,并将结果存储在一个长列表中

List<URL> resultUrls = new ArrayList<URL>();
webPages.runSearch(parameter1);                   // runs search and stores result in a public variable of the object webPages
resultUrls = webPages.getUrls();                  // returns public variable
webPages.runSearch(parameter2);
resultUrls.addAll(webPages.getUrls());
List resultUrls=new ArrayList();
webPages.runSearch(参数1);//运行搜索并将结果存储在对象网页的公共变量中
resultUrls=webPages.getUrls();//返回公共变量
网页。运行搜索(参数2);
addAll(webpage.getURL());
在执行最后一行之前,resultUrls已经包含使用parameter2从runSearch更新的结果。我希望它仍然保存带有参数1的runSearch的结果。最终的结果是,我得到了两个使用参数2相互附加的搜索副本。我想要的是使用parameter1进行搜索,并将搜索结果附加到ResultUrs变量中存储的parameter2中


任何帮助都将不胜感激。

我们不知道
网页是什么,但我怀疑问题在于您的
runSearch
方法不会创建新列表-它只是对现有列表进行了修改。我怀疑您想创建第一个列表的副本。请注意,您不需要创建的原始
ArrayList
,因为您无论如何都会放弃它

List<URL> resultUrls = new ArrayList<URL>();
webPages.runSearch(parameter1);                   // runs search and stores result in a public variable of the object webPages
resultUrls = webPages.getUrls();                  // returns public variable
webPages.runSearch(parameter1); 
List<URL> resultUrls = new ArrayList<URL>(webPages.getUrls());
webPages.runSearch(parameter2);
resultUrls.addAll(webPages.getUrls());
webPages.runSearch(parameter1); 
List<URL> resultUrls = new ArrayList<URL>(webPages.getUrls());
webPages.runSearch(parameter2);
resultUrls.addAll(webPages.getUrls());
List<URL> resultUrls = webPages.runSearch(parameter1);
resultUrls.addAll(webPages.runSearch(parameter2));