Set集合(无序无重复)
- 具体的实现类
HashSet
TreeSet - 基本的使用
- 无序 无重复
无序:我们使用集合存放元素的顺序 集合内取出来的顺序不一致
集合本身是有自己的算法排布顺序 hash算法
HashSet---->(HashMap (数组+链表) 散列表 临接连表)
- java.util
- 如何创建对象 无参数 有参数
- 集合容器的基本使用
增删改查
boolean = add(value) addAll(collection c) retainAll removeAll
boolean = remove(Object)
没有修改方法
iterator() 获取一个迭代器对象
size() - 无重复的原则
首先通过String类型和Person类型存储
大概猜测 无重复的原则 利用equals方法进行比较
如果我们想要让Person对象的name一致 认为是同一个对象
我们可以重写equals方法
重写了equals方法 发现还没有产生无重复的效果
证明可能原则不止equals一个方法这么简单
还有另一个规则同时起着作用 hashCode方法 int
五个Person对象只剩一个 第一次存储的 还是最后一次存储
set集合是发现重复的元素 拒绝存入 存储的是第一个
TreeSet-----(TreeMap 二叉树 利用Node(left item right))
- 无序无重复 java.util
- 无参数构造方法 带Collection构造方法
- 基本常用方法
add(E e) iterator() remove(E e) 没有修改 size()
无重复的规则是如何实现的
treeSet集合本身有顺序 我们指的无序存入的和取出来的不一致
compareTo---->String类 按照字母的自然顺序排布(Unicode)
如果想要把自己写的类型 比如Person对象存入TreeSet集合里
不能随意的存储 需要让自己写的类先实现Comparable接口
三连博主,每天分享一个编程小技巧!