You’d think HashSet would be a useful tool for arranging unique Objects. However, it is useless for that purpose because it will only tell you if an equivalent Object is already in the HashSet. It won’t divulge a reference to the canonical Object itself. To arrange uniqueness, you need a HashMap with key and value referencing the same canonical unique Object.
In other words,
HashSet.contains tells you if there is an Object in the HashSet Collection that matches yours, as measured by equals. It does not tell you if your Object is the exact same Object as the one in the Collection. Further, HashSet will not give you a reference to its Object. However, if you use HashMap instead, you can get a reference to the Collection’s Object.| Using HashSets | Tips |
| Comparing HashSets for Duplicates | Learning More |
| Initialisation | Links |
Here is how you can initialise a HashSet in a single line.
HashSet does not have a constructor that takes an array of initial values, but it does have one that takes a Collection. So you can initialise by using Arrays.asList to convert like this:
// or chain alternative to a HashSet if ( a == 10 || a == 100 || a == 1000 ) { out.println( "is power of 10" ); }
rem BitSet alternative to HashSet BitSet bitSet = new BitSet ( 10 ); // indexed 0..9 bitSet.set( 0 ); bitSet.set( 5 ); if ( bitSet.get( index ) ) { out.println( index + " is in the set" ); }
|
|
available on the web at: |
http://mindprod.com/jgloss/hashset.html |
optional Replicator mirror
|
J:\mindprod\jgloss\hashset.html | |
![]() |
Please email your
feedback for publication,
letters to the editor, errors, omissions, typos, formatting errors, ambiguities, unclear
wording, broken/redirected link reports, suggestions to improve this page or comments to
Roedy Green :
| |
| Blog | Canadian
Mind
Products
IP:[65.110.21.43] Your face IP:[184.72.184.104] |
|
| Feedback | You are visitor number 31,484. | |