KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > uk > co > jezuk > mango > algorithms > SymmetricDifference


1 package uk.co.jezuk.mango.algorithms;
2
3 import java.util.Collection JavaDoc;
4 import java.util.Iterator JavaDoc;
5 import java.util.ArrayList JavaDoc;
6
7 public class SymmetricDifference
8 {
9     static public Collection JavaDoc execute(Iterator JavaDoc iter, Collection JavaDoc coll, Collection JavaDoc results)
10     {
11         Collection JavaDoc intersection = new ArrayList JavaDoc();
12         while(iter.hasNext())
13         {
14             Object JavaDoc o = iter.next();
15             if(!coll.contains(o))
16                 results.add(o);
17             else
18                 intersection.add(o);
19         } // while
20
iter = coll.iterator();
21         while(iter.hasNext())
22         {
23             Object JavaDoc o = iter.next();
24             if(!intersection.contains(o))
25                 results.add(o);
26         } // while
27
return results;
28     } // execute
29

30     static public Collection JavaDoc execute(Iterator JavaDoc iter, Iterator JavaDoc iter2, Collection JavaDoc results)
31     {
32         Collection JavaDoc coll = new ArrayList JavaDoc();
33         while(iter2.hasNext())
34             coll.add(iter2.next());
35         return execute(iter, coll, results);
36     } // execute
37

38     private SymmetricDifference() { }
39 } // class SymmetricDifference
40
Popular Tags