Java源码分析
YJian2008
这个作者很懒,什么都没留下…
展开
-
ArrayList源码分析(基于JDK1.6)
ArrayList就是传说中的动态数组,就是Array的复杂版本,它提供了如下一些好处:动态的增加和减少元素、灵活的设置数组的大小...... 认真阅读本文,我相信一定会对你有帮助。比如为什么ArrayList里面提供了一个受保护的removeRange方法?提供了其他没有被调用过的私有方法? 首先看到对ArrayList的定义:1 public class A转载 2013-11-24 10:36:53 · 641 阅读 · 0 评论 -
ArrayList removeRange方法分析
《ArrayList原码分析》一文中提到了“为什么removeRange(int fromIndex,int toIndex)是protected的?” 先给出removeRange(int fromIndex,int toIndex)方法的源码(这段代码是干什么的就不再解释了,源码分析一文中已经说明) 1 protected void removeRange(int f转载 2013-11-24 10:39:12 · 1241 阅读 · 0 评论 -
HashMap源码分析(基于JDK1.6)
在Java集合类中最常用的除了ArrayList外,就是HashMap了。本文尽自己所能,尽量详细的解释HashMap的源码。一山还有一山高,有不足之处请之处,定感谢指定并及时修正。 在看HashMap源码之前先复习一下数据结构。 Java最基本的数据结构有数组和链表。数组的特点是空间连续(大小固定)、寻址迅速,但是插入和删除时需要移动元素,所以查询快,增加删除慢。链表转载 2013-11-24 10:09:13 · 711 阅读 · 0 评论 -
LinkedList源码分析(基于JDK1.6)
LinkedList也和ArrayList一样实现了List接口,但是它执行插入和删除操作时比ArrayList更加高效,因为它是基于链表的。基于链表也决定了它在随机访问方面要比ArrayList逊色一点。 除此之外,LinkedList还提供了一些可以使其作为栈、队列、双端队列的方法。这些方法中有些彼此之间只是名称的区别,以使得这些名字在特定的上下文中显得更加的合适。转载 2013-11-24 14:29:46 · 649 阅读 · 0 评论