书读百遍,其义自现

好记性不如烂笔头

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理
  66 Posts :: 1 Stories :: 10 Comments :: 0 Trackbacks

公告

置顶随笔 #

摘要: 程序中有时候需要保存全局的数据,比如程序的配置文件,需要随时检索的.比如程序中有些变量需要全局保存全局用,这时候我们不想用一个全局变量来保存这时候,可以使用单例模式,从名称可以看出,单例模式就是类的实例全局只创建一个.怎么样才能保存只创建一个实例呢?我们可以设置标识位,创建过的就不再创建了.下面是单...阅读全文
posted @ 2014-05-10 10:41 九路313 阅读(65) 评论(0) 编辑

2019年5月18日 #

正文内容加载中...
posted @ 2019-05-18 21:01 九路313 阅读(280) 评论(0) 编辑

2018年12月27日 #

摘要: 1 折半查找法 了解二叉查找树之前,先来看看折半查找法,也叫二分查找法 在一个有序的整数数组中(假如是从小到大排序的),如果查找某个元素,返回元素的索引。 如下: 思想很简单: 1 先找到数组中间元素target与6比较 2 如果target比6大,就在数组的左边查找 3 如果target比6小,就阅读全文
posted @ 2018-12-27 09:22 九路313 阅读(286) 评论(0) 编辑

2018年12月18日 #

摘要: 概述 LinkedHashMap是Java中常用的数据结构之一,安卓中的LruCache缓存,底层使用的就是LinkedHashMap,LRU(Least Recently Used)算法,即最近最少使用算法,核心思想就是当缓存满时,会优先淘汰那些近期最少使用的缓存对象 LruCache的缓存算法 阅读全文
posted @ 2018-12-18 08:57 九路313 阅读(305) 评论(4) 编辑

2018年12月10日 #

摘要: Stack是Java中常用的数据结构之一,Stack具有"后进先出(LIFO)"的性质。 只能在一端进行插入或者删除,即压栈与出栈 栈的实现比较简单,性质也简单。可以用一个数组来实现栈结构。 1. 入栈的时候,只在数组尾部插入 2. 出栈的时候,只在数组尾部删除 我们来看一下Stack的用法 :如下阅读全文
posted @ 2018-12-10 23:37 九路313 阅读(149) 评论(0) 编辑

2018年12月8日 #

摘要: 上一节介绍了PriorityQueue的原理,先来简单的回顾一下 PriorityQueue 的原理 以最大堆为例来介绍 1. PriorityQueue是用一棵完全二叉树实现的。 2. 不但是棵完全二叉树,而且树中的每个根节点都比它的左右两个孩子节点元素大 3. PriorityQueue底层是用阅读全文
posted @ 2018-12-08 11:52 九路313 阅读(175) 评论(0) 编辑

2018年12月7日 #

摘要: 本章先讲解优先级队列和二叉堆的结构。下一篇代码实现 从一个需求开始 假设有这样一个需求:在一个子线程中,不停的从一个队列中取出一个任务,执行这个任务,直到这个任务处理完毕,再取出下一个任务,再执行。 其实和 Android 的 Handler 机制中的 Looper 不停的从 MessageQueu阅读全文
posted @ 2018-12-07 10:31 九路313 阅读(153) 评论(0) 编辑

2018年11月28日 #

摘要: 手写Java HashMap核心源码 上一章手写LinkedList核心源码,本章我们来手写Java HashMap的核心源码。 我们来先了解一下HashMap的原理。HashMap 字面意思 hash + map,map是映射的意思,HashMap就是用hash进行映射的意思。不明白?没关系。我们阅读全文
posted @ 2018-11-28 08:52 九路313 阅读(684) 评论(4) 编辑

2018年11月25日 #

摘要: 上一章我们手写了ArrayList的核心源码,ArrayList底层是用了一个数组来保存数据,数组保存数据的优点就是查找效率高,但是删除效率特别低,最坏的情况下需要移动所有的元素。在查找需求比较重要的情况下可以用ArrayList,如果是删除操作比较多的情况下,用ArrayList就不太合适了。Ja阅读全文
posted @ 2018-11-25 22:44 九路313 阅读(166) 评论(0) 编辑

摘要: 手写ArrayList核心源码 ArrayList是Java中常用的数据结构,不光有ArrayList,还有LinkedList,HashMap,LinkedHashMap,HashSet,Queue,PriorityQueue等等,我们将手写这些常用的数据结构的核心源码,用尽量少的代码来揭示核心原阅读全文
posted @ 2018-11-25 16:38 九路313 阅读(214) 评论(0) 编辑

2018年11月24日 #

摘要: 快乐数的定义: 快乐数(happy number)有以下的特性: 在给定的进位制下,该数字所有数位(digits)的平方和,得到的新数再次求所有数位的平方和,如此重复进行,最终结果必为1。 以十进制为例: 2 8 → 2²+8²=68 → 6²+8²=100 → 1²+0²+0²=1 3 2 → 3阅读全文
posted @ 2018-11-24 16:48 九路313 阅读(299) 评论(0) 编辑