set接口的特征与介绍
Set接口数据存储
<1>无序;添加顺序和存储不一致;
<2>不可重复;Set存储的元素不允许出现重复情况;
Set接口的两个实现类
<3>HashSet:底层存储数据的结构是【哈希表】;
<4>TreeSet:底层存储数据的结构是【平衡二叉树】
<5>Set集合使用的方法都是Collection接口中的方法,没有特殊方法;但是Set接口的两个重要的实现类,HashSet和TreeSet存储过程中,需要依赖于其他方法和要求;
HashSet底层存储数据结构介绍
<1> HashSet底层存储数据的结构是一个哈希表,是一个表结构;
<2>可以把哈希表想象成一个Excel表格;存在坐标关系,每个单元格坐标唯一;
<3>HashSet存储过程中,需要涉及到添加元素的hashCode方法,有可能也会涉及到equals方法;
<4>equals方法情况需要我们避免;
class Demo2{
public static void main(String[] args) {
//创建一个HashSet集合
HashSet<String> set = new HashSet<>();
set.add("2");
set.add("3");
set.add("5");
set.add("1");
set.add("7");
set.add("4");
//Set集合中元素的添加顺序与存储顺序不一致
System.out.println(set);
set.add("1");
//Set集合元素不可以重复
System.out.println(set);
System.out.println(set.size());
}
}