JAVA--set接口及其实现类的使用
1.Set接口用以描述不能包含重复元素的集合。
2.
(1)HashSet类(散列集合) :创建一个无序的集合对象
元素无序
(2)TreeSet类(树集合):创建一个有序的集合对象
对元素排序(不重复) 有顺序(可比较大小) cmparable接口
(3)LinkedHashSet:与插入先后顺序吻合且不重复
3、 集合对象(Set接口)常用的方法
(1)集合与集合元素之间的关系操作方法
public boolean add(object o) //添加元素
public boolean remove(object o)//删除元素
public boolean contains(object o)//属于关系
public int size()//元素的个数
(2)集合与集合之间关系的操作方法
public boolean containsAll(Collection c) //包含关系
public boolean addAll(Collection c)//并集
public boolean removeAll(Collection c)//差集
public boolean retainAll(Collection c)//交集
4.HashSet和LinkedHashSet----散列集合
(1)HashSet常用的方法
HashSet()//创建一个空的散列集合对象
HashSet(Collection c)//用c的元素初始化散列集合
(2)HashSet散列集合对象的创建
Set<类型> s=new HashSet<类型>();
(3)HashSet常用方法
具有Set接口的所有方法
(4)LinkedHashSet类
是HashSet的子类,使用指针(链)来维护元素次序,即保证和原本的插入的先后顺序吻合
(5)HashSet与LinkedHashSet的异同点
相同点:对象都不允许添加重复的元素
不同点:LinkedList的遍历结果和添加顺序一致,HashSet遍历结果是无序的。
(6)选择常考的题
String类对hashCode方法和equal方法都进行了重写,
内容相同的字符串哈希码也是相同的;
HashCode不相等,equals也不相等
HashCode相等,equals可以相等也可以不相等
equals相等,Hashcode也相等。
5.TreeSet
TreeSet类创建的对象称为树集,树集是个有序集合,排序既可以是元素的自然顺序,也可以是创建集合时指定的比较器所定制的比较规则而得到的顺序(自定义排序)
(1)自然排序
元素对应类必须实现Comparable接口,TreeSet会重写compare to方法的返回值,将集合的元素按大小关系升序排序。
Student O;
O.sno.this.id(this.sno);//降序
(2)自定义排序
通过TreeSet构造方法指定比较器(实现Comparator接口类的对象)将集合元素按升序排列‘
this.sno.this.id.(O.sno)//升序
本文地址:https://blog.csdn.net/zsysingapore/article/details/110242993