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<object> { private HashMap<Object, Object> map = null; private static final Object tempObject = new Object(); public CustomHashSetTest() { map = new HashMap<>(); } public boolean add(Object object) { return map.put(object, tempObject)==null; } public static void main(String[] args) { CustomHashSetTest test = new CustomHashSetTest(); test.add("India"); test.add("Australia"); test.add("England"); test.add("Australia"); for(Object object : test) { System.out.println(object.toString()); } } @Override public Iterator<object> iterator() { return map.keySet().iterator(); } @Override public int size() { return map.size(); } } </object></object>
England Australia India
以上是我們如何在 Java 中實作自訂 HashSet?的詳細內容。更多資訊請關注PHP中文網其他相關文章!