我们如何在Java中实现自定义HashSet?
一个HashSet的 工具设置 界面,不允许重复的值。HashSet不同步并且不是线程安全的。当我们可以向HashSet中添加任何重复元素时,add()方法将返回 false,并且不允许向HashSet中添加重复元素。
public class HashSet<E> extends AbstractSet<E> implements Set<E>, Cloneable, Serializable
在下面的示例中,我们可以实现Custom HashSet。
示例
import java.util.*;
public class CustomHashSetTest extends AbstractSet {
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 iterator() {
return map.keySet().iterator();
}
@Override
public int size() {
return map.size();
}
}输出结果
England Australia India
热门推荐
9 合字的祝福语简短
10 对女友的简短祝福语
11 婚庆花篮祝福语简短大气
12 爱情贺卡祝福语简短英语
13 新疆新年祝福语大全简短
14 简短霸气的考试祝福语
15 生日牌祝福语英语简短
16 今日祝福语简短10字
17 男朋友新年祝福语简短
18 班级集体生日祝福语简短