这个系列是自己学着写一些Java的数据结构工具类,也就是util类中的一些结构。比如:ArrayList、LinkedList。
需要注意的是,我写的类不一定是按照Java真正的实现方式。很多和Java实现方式不一样,而且很多方法的返回值也不一样,传入的参数也不一样。
很多细节我也并未处理,所以难免会有bug。
以下有几点是读者需要注意的:
1)ArrayList和LinkedList都是线程不安全的,他们都是通过父类中一个modCount参数进行判断。但是在我的程序中,并未考虑线程不安全的问题,故,我的List的实现以及迭代器的实现都存在线程不安全的问题,和Java中的实现很不一样。这是读者需要注意的。
2)我编写程序是主要按照自己的思路写的,所以很多地方都会和源码不一样,包括方法名,返回值以及参数列表等等。
3)这些代码只是为了加深自己对数据结构理解,如果读者要真正的了解数据结构类,可以去看源码。
4)代码肯定会有问题,如果读者发现了,希望能够私聊我,谢谢。
Java集合类的框架:
从下面的图片可以看出,集合类的结构。我这次的仿写,对于很多虚类直接跳过,所以我的结构也和图中的结构也不一样,因此,在看我的代码时,一定只能当作一种实现特定方法的思路,当不了真。
(图片是网上截图,如果侵权请私信我,我立马删除。图片来源:https://www.runoob.com/java/java-collections.html)