int sizeOfTheShortestList = webresult.size();
for (int i=0; i<sizeOfTheShortestList; i++) {
if (webresult1.get(i).equals(dbresult[i]) )
{
System.out.println("Equals..: " + webresult1.get(i));
}
}
从上面的代码我发现错误请给出解决方案来比较arraylist值和数组值
答案 0 :(得分:2)
将arraylist称为&#39; al&#39;。 将数组作为&#39; a&#39;。
现在你需要比较&#39; al&#39;和&#39; a&#39;。
iterator it = new iterator(al);
int length = a.size();
int count=0;
for(int i=0;i<length; i++)
{
if(it.next()==a[i]);
{
count++;
}
}
if(count == length)
{
System.out.println("Both are equal");
}
else
{
System.out.println("Both are not equal");
}
答案 1 :(得分:0)
您可以使用ArrayList#retailAll
仅保留此列表中包含的元素 指定的集合。换句话说,从这个列表中删除所有 它的元素未包含在指定的集合中。
webresult.retainAll(Arrays.asList(dbresult);
// Now webresult will only contain the values that were in webresult and are in dbresult
答案 2 :(得分:0)
尝试这样的事情
int sizeOfTheShortestList = Math.min(webresult.size(), webresult1.length);
for (int i=0; i<sizeOfTheShortestList; i++) {
if (webresult.get(i).equals(webresult1[i]) {
System.out.println("Equals..: " + webresult.get(i));
}
}
我希望我能以正确的方式理解你的问题。另外请发表评论
答案 3 :(得分:0)
首先,您需要比较webresult和dbresult的长度,因为如果它们的长度不同,您将获得IndexOutOfBounds异常。
webresult.get(i)与dbresult [i]具有相同的类型吗?
如果没有使用默认值,那么实现等于缺失的等号也应该添加。
答案 4 :(得分:0)
答案 5 :(得分:0)
这取决于你得到的错误类型。 另一个解决方案是在你的arraylist上使用toArray()方法并比较2个数组。但是如果数据结构具有相同的长度,那么你的代码应该可以工作,因为你要比较数组和arraylist中的元素,而不是集合本身。
答案 6 :(得分:0)
假设你的arraylist比数组短(否则你会得到一个IndexOutOfBounds异常),你应该确保webresult.get(i)和dbresult [i]的类型相同。此外,“。equals()”仅适用于比较对象(如字符串),而不适用于基元。因此,如果webresult.get(i)和dbresult [i]是整数或字符,“。equals”将无效。你应该使用“==”。