- 博客(7)
- 收藏
- 关注
原创 红黑树-TreeMap
1.原理排序二叉树排序二叉树是一种特殊结构的二叉树,可以非常方便地对树中所有节点进行排序和检索。排序二叉树要么是一棵空二叉树,要么是具有下列性质的二叉树:若它的左子树不空,则左子树上所有节点的值均小于它的根节点的值;若它的右子树不空,则右子树上所有节点的值均大于它的根节点的值;它的左、右子树也分别为排序二叉树。
2016-11-30 16:47:53 1220 2
原创 顺序存储与链式存储的集合-HashMap、HashTable
HashMap,日常最常用的数据结构之一。它是基于哈希表的 Map 接口的实现,以key-value的形式存在。在HashMap中,key-value总是会当做一个整体来处理,系统会根据hash算法来来计算key-value的存储位置,我们总是可以通过key快速地存、取value。下面将通过源码分析存储结构、初始化、插入、查询、移除等来深入分析Hashmap的实现原理。
2016-11-24 18:27:59 4038 1
原创 ListView添加HeaderView出现Cannot add header view to list -- setAdapter has already been called.
今天项目由于需要根据动态数据来控制ListView的头部,但在4.2系统出现如下异常:java.lang.IllegalStateException: Cannot add header view to list -- setAdapter has already been called. at android.widget.ListView.addHeaderView(ListView.ja
2016-11-22 19:04:51 1015
原创 线性存储结构-LinkedList
LinkedList内部采用链表的形式构建,是一个双向链表。除了继承List外,还继承了Deque接口,可以当做堆栈结构使用。 private static final class Link { ET data; //数据 Link previous, next; //前节点、后节点 Link(ET o, Link p, Link n) { data = o; prev
2016-11-14 16:46:55 2019
原创 线性存储结构-Stack
Stack继承于Vector,是一个模拟堆栈结构的集合类。当然也属于顺序存储结构。这里注意Android在com.android.layoutlib.bridge.impl包中也有一个Stack的实现,继承于ArrayList。构造方法 : public Stack() 创建一个空 Stack。方法: 1. public push (item ) 把项 压入栈顶。其作用与 a
2016-11-14 16:43:38 949
原创 线性存储结构-ArrayList、Vector
ArrayList:采用数组的内部构建形式,也就是顺序存储模式。当新增一个对象时,如果当前长度超过预设,会使用System.arraycopy(定义一个更长的数组进行复制处理),这个时候开销比较大。System.arraycopy,数组长度小于32的采用的是java层的遍历处理,长数组采用的是native层的处理 /** * The byte array length thresh
2016-11-14 16:41:05 1109
原创 SufaceView为什么在视频暂停播放后,退至后台后,重新显示黑屏?
最近项目遇到一个播放的问题,当视频在播放中暂停后,按home键到后台,重新启动应用时,画面显示黑屏了。看了几个主流的播放器,情况如下: 本地播放器同样是黑屏的现象腾讯视频同样是黑屏的现象优酷视频同样是黑屏的现象乐视视频视频非暂停状态,而是续播的状态
2016-11-03 09:04:53 9630 6
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人