第六天(set集合)
1. Set集合: 特点:1.元素存取无序。 2.无索引,不能使用普通for循环。 3.不能存储重复元素。 2. 哈希值: 概述:是JDK根据对象的地址或者字符串或者数字算出来的int类型的数值 如何获取哈希值: Object类中的public int hashCode():返回对象的哈希码值。 如果是添加对象相同对象,需要在对象类里面重写hashCode 和 equals方法 特点: 1.同一个对象多次调用hashcode()方法返回的哈希值是相同的。 2.默认情况下,不同对象的哈希值是不同的。而重写hashCode()方法,可以实现让不同对象的哈希值相同。 3. HashSet集合特点: 1. 底层结构是哈希表 2. 元素存取无序。 3. 无索引,不能使用普通for循环 4. 不能存储重复元素。 4.HashSet集合保证元素唯一性代码: 5.LinkedHashSet集合特点: 1. 哈希表和链表实现的Set接口,具有预测的迭代次序 2. 由链表保证元素有序,也就是说元素的储存和取出顺序是一致的 3. 没有重复的元素 6.TreeSet集合特点: 1.元素有序,可以按照一定的规则进行排序,取决于构造方法: TreeSet():根据元素的自然排序进行排序 TreeSet(Comparator comparator):根据比较器进行排序 2.无索引,不能使用普通for循环 3.不能储存重复元素。 7. 泛型: 概述:它的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。 参数化类型:将类型由原来的具体的类型参数化,然后在使用/调用时传入具体的类型。 好处: 1.将运行时期的错误提前了编译期间 2.省去了类型转换的麻烦 泛型类: 格式: 修饰符 class 类名<类型> { } 泛型方法: 格式:修饰符 <类型> 返回值类型 方法名(类型 变量名) { } 泛型接口: 格式:修饰符 interface 接口名<类型> { }
|