欢迎点击「算法与编程之美」↑关注我们!
本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列博客。
ArrayList在我们日常开发中使用的非常频繁,那么我们是否了解ArrayList的内部实现机制呢?是否深入理解了ArrayList?
首先要提出的第一个问题是,如何深入的理解ArrayList呢?达到什么样的程度才叫深入理解呢?
我们采用的方法是从零开始打造一个全新的MyList,而这个类具备的功能和ArrayList几乎完全一样,采用逐步递进的方式,深入浅出,每次对上一次的方案进行分析,存在哪些问题,并提出改进的措施。
需求定义
我们首先提出一个非常简单的需求,定义一个集合类,能够实现字符串的添加操作,如下:
代码实现
这个需求还是比较简单的,能够实现字符串的添加操作,我们可以采用字符串数组的方式来保存每次添加的字符串,然后用一个标记来表示当前数组的位置。
构造函数中默认初始化了一个大小为10的字符串数组,这样后续在添加字符串的时候,就可以直接放在这个数组中了。
再使用一个size变量标记当前数组的位置,每次添加新的字符串后,size后移一位,实现字符串的添加操作。
这样我们就完成了一个基于字符串数组的List类的实现,能够实现字符串的添加操作。
虽然我们已经实现了需求,但是请大家思考这样的实现方式存在哪些问题?欢迎下方留言。
更多精彩文章:
四川旅游学院 where2go 团队
长按识别二维码关注我们!
温馨提示:点击页面右下角“写留言”发表评论,期待您的参与!欢迎转发!