Show the union and intersection of two sets : Set « Collections Data Structure « Java






Show the union and intersection of two sets

         
/*
 * Copyright (c) Ian F. Darwin, http://www.darwinsys.com/, 1996-2002.
 * All rights reserved. Software written by Ian F. Darwin and others.
 * $Id: LICENSE,v 1.8 2004/02/09 03:33:38 ian Exp $
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 *
 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS''
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE.
 * 
 * Java, the Duke mascot, and all variants of Sun's Java "steaming coffee
 * cup" logo are trademarks of Sun Microsystems. Sun's, and James Gosling's,
 * pioneering role in inventing and promulgating (and standardizing) the Java 
 * language and environment is gratefully acknowledged.
 * 
 * The pioneering role of Dennis Ritchie and Bjarne Stroustrup, of AT&T, for
 * inventing predecessor languages C and C++ is also gratefully acknowledged.
 */


import java.util.*;

/** Show the union and instersection of two sets. */
public class SetStuff {
  public static void main(String[] args) {

    // Create two sets.
    Set s1 = new HashSet();
    s1.add("Ian Darwin");
    s1.add("Bill Dooley");
    s1.add("Jesse James");

    Set s2 = new HashSet();
    s2.add("Ian Darwin");
    s2.add("Doolin' Dalton");

    Set union = new TreeSet(s1);
    union.addAll(s2);    // now contains the union

    print("union", union);

    Set intersect = new TreeSet(s1);
    intersect.retainAll(s2);

    print("intersection", intersect);

  }

  protected static void print(String label, Collection c) {

    System.out.println("--------------" + label + "--------------");

    Iterator it = c.iterator();
    while (it.hasNext()) {
      System.out.println(it.next());
    }
  }
}


           
         
    
    
    
    
    
    
    
    
  








Related examples in the same category

1.Set, HashSet and TreeSet
2.Things you can do with SetsThings you can do with Sets
3.Set operations: union, intersection, difference, symmetric difference, is subset, is superset
4.Set implementation that use == instead of equals()
5.Set that compares object by identity rather than equality
6.Set union and intersection
7.Set with values iterated in insertion order.
8.Putting your own type in a SetPutting your own type in a Set
9.Use setUse set
10.Another Set demo
11.Set subtractionSet subtraction
12.Working with HashSet and TreeSetWorking with HashSet and TreeSet
13.TreeSet DemoTreeSet Demo
14.Demonstrate the Set interface
15.Array Set extends AbstractSetArray Set extends AbstractSet
16.Sync Test
17.Set Copy
18.Set and TreeSet
19.Tail
20.What you can do with a TreeSetWhat you can do with a TreeSet
21.Remove all elements from a set
22.Copy all the elements from set2 to set1 (set1 += set2), set1 becomes the union of set1 and set2
23.Remove all the elements in set1 from set2 (set1 -= set2), set1 becomes the asymmetric difference of set1 and set2
24.Get the intersection of set1 and set2, set1 becomes the intersection of set1 and set2
25.Extend AbstractSet to Create Simple Set
26.Int Set
27.One Item Set
28.Small sets whose elements are known to be unique by construction
29.List Set implements Set
30.Converts a char array to a Set
31.Converts a string to a Set
32.Implements the Set interface, backed by a ConcurrentHashMap instance
33.An IdentitySet that uses reference-equality instead of object-equality
34.An implementation of the java.util.Stack based on an ArrayList instead of a Vector, so it is not synchronized to protect against multi-threaded access.
35.A thin wrapper around a List transforming it into a modifiable Set.
36.A thread-safe Set that manages canonical objects
37.This program uses a set to print all unique words in System.in
38.Indexed Set
39.An ObjectToSet provides a java.util.Map from arbitrary objects to objects of class java.util.Set.
40.Sorted Multi Set
41.Fixed Size Sorted Set
42.Set operations
43.A NumberedSet is a generic container of Objects where each element is identified by an integer id.
44.Set which counts the number of times a values are added to it.
45.Set which counts the number of times a values are added to it and assigns them a unique positive index.
46.Indexed Set
47.A set acts like array.
48.Implements a Bloom filter. Which, as you may not know, is a space-efficient structure for storing a set.
49.Implementation of disjoint-set data structure
50.Call it an unordered list or a multiset, this collection is defined by oxymorons