Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/367.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,在循环中,我执行一些操作,然后获取字符串并将其添加到列表1中 循环后:列表1包含2个字符串:确定 现在,在另一个循环中,我在每次迭代中得到一个值,该值返回一个字符串,我想检查list1中的字符串在第二个循环中是否不可用: for(inti=0;i<nb;i++){ value= table.getValue(i); list1.add(value); } for(int j=0;j<nb;j++){ String toto = table.getValue(i);

在循环中,我执行一些操作,然后获取字符串并将其添加到列表1中 循环后:列表1包含2个字符串:确定 现在,在另一个循环中,我在每次迭代中得到一个值,该值返回一个字符串,我想检查list1中的字符串在第二个循环中是否不可用:

for(inti=0;i<nb;i++){
   value= table.getValue(i);
   list1.add(value);
}

for(int j=0;j<nb;j++){
   String toto = table.getValue(i);
   //do other actions

   //here verify that list1 doesn't contain toto
   //I tried :
   assetFalse(table.getValue(i).contains(list1)); //not OK !
}

for(inti=0;i似乎应该是

assertFalse(list1.contains(table.getValue(i)));
如果
getValue
返回一个
字符串
,则不能通过
列表对其执行
包含
操作

//here verify that list1 doesn't contain toto
//I tried :
assetFalse(table.getValue(i).contains(list1)); //not OK !
首先,该方法称为assertFalse

其次,检查
toto
是否包含列表(
table.getValue(i)
toto
)。 请注意,您的代码也可以被读取为
assertFalse(toto.contains(list1));
(拼写已修复,并使用上面的赋值)

相反,我想你应该这样做:

 assertFalse(list1.contains(toto));
还要注意的是,在两个循环中,您迭代相同的集合(
)和相同的索引(0到
nb-1
)。因此
列表
将始终包含您检查的值(除非您在某处删除它们),因此您的资产将始终失败

最后,请发布可编译代码:
inti=0;
不会编译,也不会编译
assetFalse(…)
String toto=table.getValue(i);
,因为
i
在该循环中是未知的(它超出范围)

如果您希望我们帮助您,请在您的问题上投入更多精力

编辑

如果要比较两个集合,还可以使用类似Apache Commons collections的实用程序库,该库具有类似于
CollectionUtils.containsAny(collection1,collection2)
(如果两个集合中至少存在一个元素,则返回true)等方法


Google Guava应该有类似的实用程序。

似乎您正在尝试检查列表(list1)是否包含在字符串中。这没有意义。反之亦然。如果您只是比较字符串列表,一个简单的contains()方法应该可以工作

for(String value: list2){

   //here verify that list1 doesn't contain string in list2
   if(list1.contains(value)){
      //Do something here.
   }
}

你指的是“我”在第二个循环中,但它是在第一个循环中声明的。

阅读:您在问什么问题???什么不起作用?我想在第二个循环中列出一个列表,然后验证list1的内容在两个for循环中都不可用。在这两种情况下,您使用相同的数据迭代。我想在第二个循环然后验证list1的内容在list2中不可用