Re: ConcurrentModificationException
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Damo schreef:
The code for mergeAndSort is quite messy . It looks like this
private List<Result> mergeAndSort(List list, List otherList,String
engine)
{
Collection temp = new ArrayList(list);
Collection temporary = new ArrayList(otherList);
for(Iterator li = list.iterator(); li.hasNext();)
{
Result res = (Result)li.next();
String url = res.getURL();
String t = res.getTitle();
int position = res.getPosition();
for(Iterator y = otherList.iterator(); y.hasNext();)
{
Result result = (Result)y.next();
String URL = result.getURL();
String tit = result.getTitle();
int pos = result.getPosition();
if(URL.equals(url)||tit.equals(t))
{
res.setFoundon(engine);
res.setPosition(Math.min(position,pos));
otherList.remove(result);
This line is the problem. You do not use the iterator to remove the result.
That said, there are really better tricks to keep variables apart
isntead of short and long forms. How about just using res1 and res2?
Much less confusing, if you ask me. Furthermore, you are mixing up
generic and non-generic lists. If you are sure list and otherList
contain Results, then why not declare them as such? And you do not use
the two temporary collections.
Seems like you want to compute the difference of two lists. It would
probably be better to implement a suitale equals() method in Result and
just use list.removeAll(otherList).
Last of all, you are probably better off writing a Comparator<Result>
and using Collections.sort(list).
Furthermore, the signature of this method does not fit what you wrote in
your first post. Do not waste our time here by posting fake and
incompilable code.
H.
// y.remove();
break;
}
}
mergedResults.add(res);
}
for(Iterator li = otherList.iterator(); li.hasNext();)
{
Result res = (Result)li.next();
mergedResults.add(res);
}
Collections.sort(mergedResults);
return mergedResults;
}
But even when I change the line otherList.remove(result) to
y.remove(result) .I still get the exception. It has me stumped.
- --
Hendrik Maryns
http://tcl.sfs.uni-tuebingen.de/~hendrik/
==================
http://aouw.org
Ask smart questions, get good answers:
http://www.catb.org/~esr/faqs/smart-questions.html
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (GNU/Linux)
iD8DBQFFr1vre+7xMGD3itQRAqRDAKCCTyzMQYi2kyLgDqKoUhDK2YKq/wCeN3QD
9W/fYMwkV15DjXfjzPLy8bk=
=AFrA
-----END PGP SIGNATURE-----