我们如何在Java中实现自定义HashSet?
HashSet实现了不允许重复值的Set接口。HashSet不是同步的,也不是线程安全的。当我们可以向HashSet添加任何重复元素时,add()方法返回false,并且不允许向HashSet添加重复元素。
语法
public class HashSetextends AbstractSetimplements Set, Cloneable, Serializable
在下面的示例中,我们可以实现自定义HashSet。
示例
import java.util.*;public class CustomHashSetTest extends AbstractSet {
private HashMapmap = 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 iterator() {
return map.keySet().iterator();
}
@Override
public int size() {
return map.size();
}
}
输出结果
EnglandAustralia
India
以上是 我们如何在Java中实现自定义HashSet? 的全部内容, 来源链接: utcz.com/z/341260.html