TreeSet
底层:红黑树
优点:升序排序,查询效率较高
引用数据类型的去重和排序:实现内部|外部比较器
内部比较器 : Comparable 接口 实现Comparable接口重写comparaTo方法,自定义比较规则
外部比较器: Comparator 接口 重写compare方法,自定义比较器
HashSet
是由HashMap维护的,但是HashMap是键值对的形式,初始容量是16,加载因子是0.75
底层是hash表的结构
HashMap的key如果是引用数据类型的对象,做去重要重写hashCode和equals
如果想要实现value去重,需要手动判断
反射
1.创建对象的时候,拿到的都是当天前类型Class对象的一个镜像|赋值体
2.在类加载的时候,会在内存中存在当天前类型的一个Class对象,一个类的Class对象中存储这个类的所有信息(属性,方法,构造器…)
3.只要我们能够获取这个类型的Class对象,就可以对这个类做一切操作
Class 类的实例表示正在运行的 Java 应用程序中的类和接口
获取源头(Class对象):
1.对象.getClass()
2.类名.class
3.Class.forName(“类的权限命名:包名+类名”)
通过反射创建对象
1)通过反射获取到类中的构造器
2)根据构造器创建对象
构造器Constructor对象.newInstance(实参)方法
直接通过class类的newIntance()方法创建对象,方法没有参数 调用空构造
1.先获取类的Class
2.通过Class类中的方法,获取到Person类中的构造器
Constructor getConstructor(Class<?>… parameterTypes)
返回一个 Constructor 对象,它反映此 Class 对象所表示的类的指定公共构造方法。
Constructor<?>[] getConstructors()
返回一个包含某些 Constructor 对象的数组,这些对象反映此 Class 对象所表示的类的所有公共构造方法。
Constructor getDeclaredConstructor(Class<?>… parameterTypes)
返回一个 Constructor 对象,该对象反映此 Class 对象所表示的类或接口的指定构造方法。
Constructor<?>[] getDeclaredConstructors()
返回 Constructor 对象的一个数组,这些对象反映此 Class 对象表示的类声明的所有构造方法。
JAVASE入门基础知识整理笔记篇(十三)
最新推荐文章于 2019-05-13 08:39:42 发布