HashSet Set इंटरफेस को लागू करता है जो डुप्लीकेट मानों की अनुमति नहीं देता। HashSet सिंक्रोनाइज्ड नहीं है और थ्रेड-सेफ नहीं है। जब हम HashSet में कोई डुप्लीकेट एलिमेंट जोड़ते हैं, तो add() मेथड false लौटाता है और HashSet में डुप्लीकेट एलिमेंट जोड़ने की अनुमति नहीं देता।
सिंटैक्स
public class HashSet<E> extends AbstractSet<E> implements Set<E>, Cloneable, Serializable
नीचे दिए गए उदाहरण में, हम कस्टम HashSet इम्प्लीमेंट कर सकते हैं।
उदाहरण
import java.util.*; public class CustomHashSetTest extends AbstractSet<String> { private HashMap<String, Object> map = new HashMap<>(); private static final Object PRESENT = new Object(); @Override public Iterator<String> iterator() { return map.keySet().iterator(); } @Override public int size() { return map.size(); } @Override public boolean add(String e) { return map.put(e, PRESENT) == null; } public static void main(String[] args) { CustomHashSetTest set = new CustomHashSetTest(); set.add("England"); set.add("Australia"); set.add("India"); set.add("Australia"); // डुप्लीकेट System.out.println(set); } }आउटपुट
England Australia India