u011443509的博客

Stay Hungry, Stay Foolish

排序:
默认
按更新时间
按访问量

TreeMap源码分析

TreeSet、TreeMap概述与HashSet及HashMap类似,TreeSet是基于TreeMap实现的,所以分析TreeMap即可。 TreeMap是基于红黑树实现的,元素是根据key的自然顺序排列的,也可以在构造器中传入Comarator来指定排序器。 containsKey、ge...

2017-11-27 16:15:40

阅读数:43

评论数:0

HashMap源码分析

HashSet、HashMap概述分别实现了Set和Map接口,底层用哈希表来存储,迭代时是无序的。 add、remove、contains、size方法是常数时间的,遍历是O(N+M)的(N表示桶数,M表示元素个数)。 都是非线程安全的,类似的也可以用Collections.synchron...

2017-11-27 16:14:48

阅读数:45

评论数:0

LinkedList源码分析

LinkedList概述LinkedList是一个双向链表,每个节点持有next和prev的引用,该类实现了List和Deque接口。与ArrayList类似,这个容器也不是线程安全的,可以通过Collections.synchronizedList来转换。通过iterator获得的迭代器也是fa...

2017-11-27 16:13:36

阅读数:54

评论数:0

ArrayList源码分析

Java1.8类库源码分析-集合框架-ArrayList

2017-11-27 16:12:18

阅读数:31

评论数:0

Android开源控件viewbadger的原理及使用

viewbadger是github上的一个开源控件,能够以一个小徽章的样式附着在某个view上,通常用于显示未读消息数,典型的如微信、QQ、微博等,地址为:https://github.com/jgilfelt/android-viewbadger。下图为项目主页给出的样式图,可见还是能满足各种需...

2016-08-23 23:35:13

阅读数:2675

评论数:0

仿微信聊天界面——键盘与面板的切换

如果认真留意的话会发现,正常情况下,安卓版本的微信打开表情面板的高度总是能保持和键盘的高度一致(IOS的好像不一致),这样用户在进行键盘和面板的切换时能得到较好的用户体验。此外,微信也做了一定的处理,保证键盘和面板的切换比较流畅,不会出现跳动的现象。从这些细节可以体现出微信的用户体验还是做得很好的...

2016-08-07 12:28:06

阅读数:5222

评论数:6

高仿微信摇一摇功能

网上也有一些仿微信摇一摇的,但大部分都不完整。今天就自己动手来仿一下。有图的当然先上一下图:                                               触发摇一摇后手机还有音效和震动效果,gif展示不出来。另外在设置界面还能更改背景图,设置音效的开关,点击...

2016-07-27 16:05:34

阅读数:1240

评论数:0

修改源码自定义SwipeRefreshLayout样式——高仿微信朋友圈下拉刷新

通过修改源码的方法,自定义SwipeRefreshLayout样式,高仿了微信朋友圈下拉刷新。 上一篇文章里把SwipeRefreshLayout的原理简单过了一下,大致了解了其工作原理,不熟悉的可以去看一下:http://blog.csdn.net/u011443509/article/deta...

2016-07-25 18:01:02

阅读数:13923

评论数:15

Android下拉刷新控件SwipeRefreshLayout源码浅析

简要分析SwipeRefreshLayout的源码,了解其原理和绘制流程,提供了自定义样式的思路。

2016-07-25 00:05:01

阅读数:3744

评论数:0

JAVA学习笔记——JAVA中的IO流

本文内容主要根据慕课网的《文件传输基础——JAVA IO流》课程整理而成。(链接:http://www.imooc.com/learn/123) 一. 文件的编码 问题:         新建一个文本文件,输入“联通”后保存,再打开会出现乱码。而输入“联想”再打开时则不会出现乱码。 原因:  ...

2016-02-29 20:48:10

阅读数:484

评论数:0

C++学习笔记(杂)

花了一个礼拜多把PAT Basic Level的题全刷完了,之前只有C的基础,刚开始接触C++,刷题过程中遇到了一些小问题,记录一下。 1. 用cin来输入时,是自动以空格或回车来分割的,要读入空格,需要使用getline(cin, 变量名)。 2. 输出格式控制: 要使输出的位数固定为n,...

2015-10-15 14:40:27

阅读数:396

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭