java常用类实现
分析java常用类源码如何实现,自己动手实现部分功能
一笑1874
这个作者很懒,什么都没留下…
展开
-
简单ArrayList、LinkedList、HashSet、HashMap实现(一)
简单ArrayList、LinkedList、HashSet、HashMap实现(一) 面试或笔试中经常遇到像ArrayList和LinkedList以及HashSet和HashMap有什么区别,或者问你HashMap如何实现的。下面我们就自己实现简单的集合类,完成我们平时经常使用的效果,比如添加、移除、返回长度、自动扩容。原创 2017-10-10 10:59:11 · 1240 阅读 · 0 评论 -
简单集合实现二(LinkedList的实现以及与ArrayList的比较)
上一篇文章我们讲到了ArrayList的实现,如果你有兴趣看源码的话会发现我们的实现有一部分就是照着源码拷贝的。从实现上我们知道了ArrayList的底层实现是数组,比数组方便的是可以自动扩容,可以存放任意类型。既然实现是数组那么数组有的优点他也有,比如访问数据快捷方便,直接访问下标值,访问第一个和第500个数据访问速度差不多。直接定位下标0或者下标499取值。同时它也有一些缺点,比如修改、删除数据比较麻烦,需要循环遍历所有数据,超出数组下标还要新建数组重新拷贝原数组。 我们知道LInkedList的实现原原创 2017-10-10 18:06:51 · 288 阅读 · 0 评论 -
简单集合实现三(HashMap和HashSet)
上两篇文章我们实现了自己的ArrayList和LinkedList,也清楚了ArrayList查找方便,修改困难。LinkedList修改方便,查找困难。我们也经常遇到问HashMap和HashSet的异同,其实HashSet的实现就是使用了HashMap只不过它只用到了HashMap中的key值。所以学会了HashMap也就明白了HashSet。 首先我们知道HashMap中是存放键值对的原创 2017-10-11 16:33:42 · 400 阅读 · 0 评论 -
从Java内存分配来看equals和==比较
刚开始学Java的时候,遇到equals比较和==比较有时候结果总是让人惊讶,如果是以前没有接触过编程,不明白内存分配,每次都是稀里糊涂的记住一些结果。这种是true那种是false,但具体是为什么,具体自己应该怎么去分析才能分析出程序应该有的结果,今天我们就从Java内存分配的角度来聊聊。 先上代码: String str1 = new String("abc");原创 2017-10-11 21:14:33 · 809 阅读 · 0 评论 -
java IO实现文件拷贝以及文件夹拷贝
使用javaIO流实现文件拷贝以及文件夹拷贝原创 2017-10-16 10:36:32 · 1349 阅读 · 1 评论