学习集合Set所做的一些笔记

Set集合所具备的一些特点:

1.无序化
2.不能重复
3.无索引

Set集合所具有的现有类:

1.Treeset
2.hashset

首先也是通过Set s =new Hashset();这种多态的形式来创建对象

其次如果是通过add方法去添加一些string类的对象,集合将满足set的所有特点。

但是当自己写一个自定义类,并且通过new方法创建一个对象,这时会在堆内存当中开辟一块空间,不同的对象将具备不同的地址值。

也就意味着集合添加这些对象的时候,即使是具有相同属性值的对象,也会被加载到集合当中,现实生活中所认知的同一个人也会被加载

,集合就不具备了不能重复的特点。

hashset的去重:

通过在自定义的对象类中重写Hashcode以及equals的方法来实现

1.通过调用属性的hashcode值来判断是否相等,不相等则输入集合

2.通过重写equals的方法来判断具体的属性值是否相等,来区分不同的对象

泛型:

泛型

广泛的类型

E:代表的是任意类型的对象,把E改成相应的类型,此容器就只能存储此类型的对象。

Collectionc=new ArrayList()

泛型的作用:

就是用来规定此容器存储数据的类型

泛型一般运用于集合,但是在类与属性上也可以添加

Collection<? extendsE>

Collection<? extends Animal>

Collection能添加Animal产生继承关系的所有类的对象

TreeSet:是Set集合的一个具体子类

特点:具有自然排序的功能

Collections的sort()的功能是一样的

Tree存储自定义对象时,需要实现comparable接口,并且自定义排序规则实现去重的效果。

1.自定义类实现comparable接口,实现comparable();在此方法中定义规则

2.使用Comparator接口的匿名内部类,在compare()方法中定义排序规则

3.使用静态内部类实现comparator接口,实现compare()

posted @ 2020-11-13 20:20  二班谭鑫  阅读(62)  评论(0编辑  收藏  举报