概述
Set接口数据存储
1. 无序
2. 不可重复
无序
添加顺序和存储不一致!!!
不可重复
Set存储的元素不允许出现重复情况
HashSet
底层存储数据的结构是哈希表
TreeSet
底层存储数据的结构是[平衡二叉树]
Set集合使用的方法都是Collection接口中的方法,没有特殊方法
但是Set接口中两个重要的实现类HashSet和TreeSet存储过程中,需要依赖于其他方法的实现
hashSet概述
HashSet底层存储数据的结构是一个哈希表是一个表结构
表结构,我们可以认为是Excel表格
存在坐标关系 ,每一个单元格坐标唯一!!!
HashSet存储过程中,需要涉及到添加元素的hashCode方法,有可能也会涉及到equals方法。
equals方法情况需要我们避免。
代码演示
import java.util.HashSet;
public class Demo1 {
public static void main(String[] args) {
HashSet<Person> set = new HashSet<Person>();
Person p1 = new Person(1, "骚磊", 16);
Person p2 = new Person(2, "骚杰", 66);
Person p3 = new Person(3, "茂林", 15);
Person p4 = new Person(4, "大熊", 45);
Person p5 = new Person(5, "康爷", 14);
Person p6 = new Person(6, "宝哥", 60);
Person p7 = new Person(6, "宝哥", 60);
/*
* Set集合中添加顺序和存储顺序不一致
* 415362
*
* Set集合当中元素不可以重复
*/
set.add(p6);
set.add(p5);
set.add(p2);
set.add(p4);
set.add(p3);
set.add(p1);
set.add(p7);
System.out.println(set);
System.out.println(set.size());
}
}