Java知识点,
分享于 点击 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值来决定元素的存储位置,但是它同时使用链表维护元素的次序。 |
相关文章
- 暂无相关文章
用户点评