JAVA集合框架:[16]set集合知识点

2026-02-23 17:25:33

set:元素不可重复,是无序的。

set接口和collection方法一致

|--HashSet:内部结构是哈希表,是不同步的。

如何保证该集合的元素唯一性呢?

通过对象的hashcode和equals方法来完成对象唯一性的。

如果对象的hashcode值不同,那么不用判断equals方法,就直接存储到哈希表中。

如果对象的hashcode值相同,那么要再次判断对象的equals方法是否为true。

如果为true,视为相同元素,不存,如果为false,那么视为不同元素,就进行存储。

注意:如果元素要存储到hashset集合中,必须覆盖hashcode方法和equals方法

一般情况下,如果定义的累会产生很多对象,比如人、学生、书,通常都需要覆盖equals、hashcode方法,建立对象判断是否相同的依据。

|--TreeSet可以对set集合中的元素进行排序。是不同步的

if(this.hashcode()==obj.hashcode && this.equals(obj))

(共篇)上一篇:集合的知识点大杂...|下一篇:
猜你喜欢