Recipe 7.10 Eschewing Duplication


Problem

You want to ensure that only one copy of each unique value is stored in a collection.

Solution

Use a Set.

Discussion

The Set interface is a collection that maintains only one instance of each value. If you add into it an object that is equal (as defined by the equals( ) method) to another object, only one of the objects is maintained. By definition, it does not matter to you which of the two objects it keeps the one in the collection or the one being added since your objects' equals( ) method indicates they are both equal:

// SetDemo.java HashSet h = new HashSet( ); h.add("One"); h.add("Two"); h.add("One"); // DUPLICATE h.add("Three"); Iterator it = h.iterator( ); while (it.hasNext( )) {     System.out.println(it.next( )); }

Not surprisingly, only the three distinct values are printed.



Java Cookbook
Java Cookbook, Second Edition
ISBN: 0596007019
EAN: 2147483647
Year: 2003
Pages: 409
Authors: Ian F Darwin

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net