HashSet Class

HashSet Class implements the Set interface, backed by a HashMap instance.

 

Important properties of HashSet class

  1. Makes no order guarantees.

  2. Permits the null element.

  3. Offers constant time performance for the basic operations like add, remove, contains and size,

    • assuming the hash function disperses the elements properly among the buckets.

  4. Default initial capacity of HashSet is 16 and default load factor is 0.75.

    • In general, you should not set the initial capacity too high (or the load factor too low).

      • Iterating over this set requires time proportional to the sum of the HashSet instance's size plus the "capacity" of the backing HashMap instance.

  5. Is not synchronized.

    • Could synchronize on some object that naturally encapsulates the set, or "wrapped" using the Collections.synchronizedSet method.

      • This is best done at creation time.

  6. The iterators returned by this class's iterator method are fail-fast,

    • but the fail-fast behavior cannot be guaranteed.

 

Important methods of HashSet class

  • spliterator()

    • Creates a late-binding and fail-fast Spliterator over the elements in this set.

    • Introduced in Java 1.8

  • Other methods include add(E e), clear(), clone(), contains(Object o), isEmpty(), iterator(), remove(Object o) and size().

 

Quick Notes Finder Tags

Activities (1) advanced java (1) agile (3) App Servers (6) archived notes (2) Arrays (1) Best Practices (12) Best Practices (Design) (3) Best Practices (Java) (7) Best Practices (Java EE) (1) BigData (3) Chars & Encodings (6) coding problems (2) Collections (15) contests (3) Core Java (All) (55) course plan (2) Database (12) Design patterns (8) dev tools (3) downloads (2) eclipse (9) Essentials (1) examples (14) Exception (1) Exceptions (4) Exercise (1) exercises (6) Getting Started (18) Groovy (2) hadoop (4) hibernate (77) hibernate interview questions (6) History (1) Hot book (5) http monitoring (2) Inheritance (4) intellij (1) java 8 notes (4) Java 9 (1) Java Concepts (7) Java Core (9) java ee exercises (1) java ee interview questions (2) Java Elements (16) Java Environment (1) Java Features (4) java interview points (4) java interview questions (4) javajee initiatives (1) javajee thoughts (3) Java Performance (6) Java Programmer 1 (11) Java Programmer 2 (7) Javascript Frameworks (1) Java SE Professional (1) JPA 1 - Module (6) JPA 1 - Modules (1) JSP (1) Legacy Java (1) linked list (3) maven (1) Multithreading (16) NFR (1) No SQL (1) Object Oriented (9) OCPJP (4) OCPWCD (1) OOAD (3) Operators (4) Overloading (2) Overriding (2) Overviews (1) policies (1) programming (1) Quartz Scheduler (1) Quizzes (17) RabbitMQ (1) references (2) restful web service (3) Searching (1) security (10) Servlets (8) Servlets and JSP (31) Site Usage Guidelines (1) Sorting (1) source code management (1) spring (4) spring boot (3) Spring Examples (1) Spring Features (1) spring jpa (1) Stack (1) Streams & IO (3) Strings (11) SW Developer Tools (2) testing (1) troubleshooting (1) user interface (1) vxml (8) web services (1) Web Technologies (1) Web Technology Books (1) youtube (1)