Saw the code snippet like
Set instances = new HashSet();
I am wondering if Hashset is a special kind of set. A
The HashSet is an implementation of a Set.
Set is a collection that contains no duplicate elements. Set is an interface.
HashSet implements the Set
interface, backed by a hash table (actually a HashMap
instance).
Since HashSet
is one of the specific implementations of Set
interface.
ASet
can be any of following since it was implemented by below classes
ConcurrentSkipListSet : A scalable concurrent NavigableSet implementation based on a ConcurrentSkipListMap
. The elements of the set are kept sorted according to their natural ordering, or by a Comparator
provided at set creation time, depending on which constructor is used.
CopyOnWriteArraySet : A Set that uses an internal CopyOnWriteArrayList for all of its operations.
EnumSet : A specialized Set implementation for use with enum types. All of the elements in an enum set must come from a single enum type that is specified, explicitly or implicitly, when the set is created.
TreeSet :A NavigableSet implementation based on a TreeMap. The elements are ordered using their natural ordering, or by a Comparator provided at set creation time, depending on which constructor is used.
LinkedHashSet: ash table and linked list implementation of the Set interface, with predictable iteration order. This implementation differs from HashSet in that it maintains a doubly-linked list running through all of its entries.
But HashSet
can be only LinkedHashSet
since LinkedHashSet
subclasses HashSet
Set is a parent interface of all set classes like TreeSet, LinkedHashSet etc.
HashSet is a class implementing Set interface.
HashSet is a class derived from Set interface. As a derived class of Set, the HashSet attains the properties of Set. Important and the most frequently used derived classes of Set are HashSet and TreeSet.
Set is the general interface to a set-like collection, while HashSet is a specific implementation of the Set interface (which uses hash codes, hence the name).
**
** It is an interface which is a subtype of Collection interface, just like LIST and QUEUE.
Set has below 3 subclasses, it is used to store multiple objects without duplicates.
**
**
Can use one NULL value(as Duplicate is not allowed), data is stored randomly as it does not maintain sequence.