欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

Java知识点,

来源: javaer 分享于  点击 41003 次 点评:245

Java知识点,



总结:
一、
静态代码块 -> 动态代码块 ->构造函数

静态代码块只在第一次new的时候执行一次,之后不再执行;动态代码块在每次new的时候都执行一次。

在不涉及继承的情况下:
   1.静态代码块和静态成员变量在加载代码时执行,只执行一次,按照它们出现的顺序先后执行;

   2.动态代码块在每次实例化对象时执行,在构造函数之前执行,多个动态代码块按照它们出现的顺序先后执行;

在涉及继承的情况下:
   1.执行父类的静态代码块和静态成员变量定义,执行子类的静态代码块和静态成员变量定义;

   2.执行父类的动态代码块,执行父类的构造函数;

   3.执行子类的动态代码块,执行子类的构造函数;

   4.如果父类构造函数中用到的函数被子类重写,那么在构造子类对象时调用子类重写的方法;

二、
ArrayList 采用的是动态数组形式来保存对象的,将对象放在连续的位置中,最大的缺点就是插入删除效率低
LinkedList 采用链表结构,插入删除效率高,但查找非常麻烦 要第一个索引开始


HashMap 是一个最常用的Map,它根据键的hashCode值存储数据,根据键可以直接获取它的值,具有很快的访问速度

LinkedHashMap 保存了记录的插入顺序,在用Iterator遍历LinkedHashMap时,先得到的记录肯定是先插入的。

TreeMap 实现SortMap接口,能够把它保存的记录根据键排序,默认是按键值的升序排序,也可以指定排序的比较器,当用Iterator 遍历TreeMap时,得到的记录是排过序的


HashSet
HashSet有以下特点:
    * 不能保证元素的排列顺序,顺序有可能发生变化
    * 不是同步的
    * 集合元素可以是null,但只能放入一个null

LinkedHashSet
集合同样是根据元素的hashCode值来决定元素的存储位置,但是它同时使用链表维护元素的次序。

相关文章

    暂无相关文章
相关栏目:

用户点评