Set注重独一无二的性质,该体系集合用于存储无序元素(存入和取出的顺序不一定相同),值不能重复。对象相等性本质是对象hashCode值(java十一局对象的内存地址计算出来的此序号)判断的,如果想要两个不同的对象视为相等的,就必须覆盖Object的hashCode方法和equals方法。
使用散列实现集合
Java集合框架定义了java.util.Set接口来对集合建模。三种具体的实现是HashSet、LinkedHashSet和TreeSet,HashSet采用散列实现,LinkedHashSet采用LinkedList实现,TreeSet采用红黑树实现。
MyMap接口
1 | public interface MySet<E> extends Iterable<E> { |
MyHashSet实现类
1 | import java.util.LinkedList; |
测试程序
1 | public class TestMyHashSet { |