java基础
android攻城师
专注移动开发
展开
-
LinkHashMap总结
linkHashMap继承HashMap LinkHashMap的底层维护了一个双向列表 ,重写了HashMap的 的实体类Entry 实现了双向列表,内部结构还是数组+链表 双向链表 linkHashMap和HashMap的区别 HashMap的存储和获取是无序的 LinkHashMap是有序的 (1,根据插入顺序排序,2,根据访问顺序排序(accessOrder)) LRUCache 最简单的LRUCache实现 最关键的参数是accessOrder 当为...原创 2020-07-15 10:46:46 · 2739 阅读 · 0 评论 -
LinkedList总结
底层实现是双向链表 add方法是如何添加元素的 调用add方法的时候会调用linkLast()方法 ,把last变量赋值给临时变量l,然后创建一个新的node节点信息 ,赋值给last节点 ,判断临时变量l是否为null 若为null 说明是第一个节点 fast 等于newNode,若l不为null的时候就l.next为newNode remove方法是如何删除元素的 首先先检查一下index是否越界 ,若不越界 检查节点是在前半部分还是在后半部...原创 2020-07-15 10:45:48 · 227 阅读 · 0 评论 -
ArrayList总结
ArrayList 继承关系 ArrayList构造方法 底层原理 ArrayList 封装了一个可以扩容的数组,当数据的长度大于数组的长度,数组变为原来长度的1.5倍,把老数组的数据copy到新的数组里面. 扩容的原理 扩容原理调用add方法的时候执行流程 调用remove方法执行的流程 arrayList和LinkedList对比 Arraylist特点 随机访问速度快,插入和移除的性能差 支持null元素 ...原创 2020-07-15 10:43:54 · 245 阅读 · 0 评论 -
java面试必备
技术面试: 1谈谈集合框架; 集合框架分为两大派系 |–单列集合 Coloection 接口 |–List 接口 有序的,可重复,可根据角标操作元素 |–ArrayList 底层数据结构是数组,查询速度快,增删稍慢,线程不同步的, |–LinkedList 底层数据结构是链表,增删速度快,查询稍慢原创 2015-10-23 12:38:35 · 402 阅读 · 0 评论 -
java基础
Java基础方面: 1、作用域public,private,protected,以及不写时的区别 答:区别如下: 作用域 当前类 同一package 子孙类 其他package public √ √ √ √ protected原创 2015-10-23 11:19:48 · 322 阅读 · 0 评论 -
java基础面试资料
三大特性: 一 封装:★★★★★ 概念:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。 好处:将变化隔离;便于使用;提高重用性;安全性。 封装原则:将不需要对外提供的内容都隐藏起来,把属性都隐藏,提供公共方法对其访问。单例设计模式 解决的问题:保证一个类在内存中的对象唯一性。 如何保证对象唯一性呢? 思想: 1,不让其他程序创建该类对象。 2,在本类中创建一个本类对象。原创 2015-10-25 13:31:20 · 375 阅读 · 0 评论 -
java回调函数
参考 http://blog.csdn.net/allen_zhao_2012/article/details/8056665 http://blog.csdn.net/sweetwxh/article/details/2067139所谓的回调,就是程序员A写了一段程序(程序a),其中预留有回调函数接口,并封装好了该程序。程序员B要让a调用自己的程序b中的一个方法,于是,他通过a中的接口原创 2016-07-06 16:51:47 · 265 阅读 · 0 评论 -
二分查找算法
二分查找是一种查询效率非常高的查找算法。又称折半查找。二分查找算法思想有序的序列,每次都是以序列的中间位置的数来与待查找的关键字进行比较,每次缩小一半的查找范围,直到匹配成功。一个情景:将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以上过...原创 2019-09-17 09:20:59 · 312 阅读 · 0 评论