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中文网其他相关文章!