HelloWorld开发者社区

www.helloworld.net - 开发者专属的技术社区

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
上一页 1 2 3 4 5 6 ··· 8 下一页

2018年12月27日

摘要: 1 折半查找法 了解二叉查找树之前,先来看看折半查找法,也叫二分查找法 在一个有序的整数数组中(假如是从小到大排序的),如果查找某个元素,返回元素的索引。 如下: int[] arr = new int[]{1,3,4,6,8,9}; 在 arr 数组中查找6这个元素,查到返回对应的索引,没有找到就 阅读全文
posted @ 2018-12-27 09:22 HelloWorld开发者社区 阅读(578) 评论(0) 推荐(0) 编辑

2018年12月18日

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

2018年12月10日

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

2018年12月8日

摘要: 上一节介绍了PriorityQueue的原理,先来简单的回顾一下 PriorityQueue 的原理 以最大堆为例来介绍 PriorityQueue是用一棵完全二叉树实现的。 不但是棵完全二叉树,而且树中的每个根节点都比它的左右两个孩子节点元素大 PriorityQueue底层是用数组来保存这棵完全 阅读全文
posted @ 2018-12-08 11:52 HelloWorld开发者社区 阅读(488) 评论(0) 推荐(0) 编辑

2018年12月7日

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

2018年11月28日

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

2018年11月25日

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

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

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 HelloWorld开发者社区 阅读(1554) 评论(0) 推荐(0) 编辑

摘要: 一 概述 我们知道,在Android开发中,遇到耗时的任务操作时,都是放到子线程去做,或者放到Service中去做,在Service中开一个子线程来执行耗时操作。 那么,在Service里面我们需要自己管理Service的生命周期,何时开启何时关闭,还是很麻烦的,还好Android给我们提供了一个这 阅读全文
posted @ 2018-11-24 15:41 HelloWorld开发者社区 阅读(225) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 ··· 8 下一页