注:转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/5965205.html ArrayList是我们常用的集合类之一,其实它的实现机制很简单,底层还是使用了一个传统的Array数组来保存数据的.而动态的实现,只不过是定义了其在长度不足时创建一个更大的数组并把原数组的数据复制过去罢了!而对其保存的数据的增删查该操作,也只不过是封装了一系列最基本的操作数组数据的动作而已.下面,我把自己实现的简略版ArrayList贴上来,供伙伴们参考. public clas…
通过.NET反编译工具可以查看到ArrayList内部的代码,发现ArrayList并非由链表实现,而是由一个不断扩容的数组对象组成. 下面模仿ArrayList写一个自己的MyArrayList. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Collections; namespace 模仿动态数组 { /// <summary> ///…
public class MyArrayList { //容量 ; //存放数组元素 private object[] _items; //数组大小 private int _size; //元素个数为0的数组状态 ]; public MyArrayList() { this._items = emptyArray; } public MyArrayList( int capacity) { ) { throw new ArgumentOutOfRangeException("capacity&…