Day15--集合框架

2019-07-15  本文已影响0人  pure_joy
TreeSet

Set:无序,不可以重复元素。
 | --HashSet:数据结构是哈希表。线程是非同步的。保证元素唯一性的原理:判断元素的hashCode值是否相同。如果相同,还会继续判断元素的equals方法,是否为true。
 | --TreeSet:可以对Set集合中的元素进行排序。底层数据结构是二叉树。保证元素唯一性的依据:compareTo方法return0。
  TreeSet排序的第一种方式:让元素自身具备比较性。元素需要实现Comparable接口,覆盖compareTo方法。这种方式也称为元素的自然顺序,或者叫做默认顺序。
  TreeSet的第二种排序方式:当元素自身不具备比较性时,或者具备的比较性不是所需要的。在集合初始化时,就有了比较方式。这时需要让容器自身具备比较性。定义了比较器,将比较器对象作为参数传递给TreeSet集合的构造函数。定义了一个类,实现Comparator接口,覆盖compare方法。
  当两种排序都存在时,以比较器为主。
记住,排序时,当主要条件相同时,一定要判断一下次要条件。

泛型
泛型类
class Demo
{
    public <T> void show(T t)
    {}
}

特殊之处:静态方法不可以访问类上定义的泛型。如果静态方法操作的应用数据类型不确定,可以将泛型定义在方法上。

public static <T> void method(T t)
{}
interface Inter<T>
{
    void show(T t);
}
上一篇 下一篇

猜你喜欢

热点阅读