Java知识点总结(Java容器-Set)

breezegao 2019-06-27

Java知识点总结(Java容器-Set)

@(Java知识点总结)[Java, Java容器, JavaCollection, JavaSet]

Set

Set是一种不包括重复元素的Collection。它维持自己的内部排序,所以随机访问没有任何意义。与List一样,它同样允许null的存在但只能有一个。由于Set接口的特殊性,所有传入Set集合中的元素必须不同。

Set集合判断两个对象是否相同,是使用equals方法,而不是使用运算符==的。即,如果两个对象用equals方法比较返回false,Set就不会接受这两个对象了。

实现了Set接口的集合有:HashSet,TreeSet,EnumSet

对Set的选择

  1. HashSet由于使用HashCode来实现,所有某种程度上来说它的性能永远比TreeSet要好,尤其是进行增加和查询操作。
  2. 虽然TreeSet没有HashSet性能好,但是由于它可以维持元素的排序,所以还是会有它的应用场景在的。
  3. EnumSet只能存储Enum,所以只会在存储Enum的情况下使用。

相关推荐