When we introduced the Array data structure in the previous section, we mentioned that it is static. The number of elements in each dimension must be uniquely determined at compile time, and its type is strongly typed.
So, in this section, we will talk about another data structure that is similar to Array, but overcomes the shortcomings of Array: ArrayList.
First of all, it is not static. The number of elements in each dimension does not need to be specified during compilation. The system default number of elements is 16. When the number of elements increases and is about to exceed 16, it will double and expand to 32, and will grow regularly. , becomes smaller, the opposite process is performed.
Secondly, the element type is a weak type, object. At runtime, the type of each element is determined based on the actual type assigned. In other words, the elements in this set can be a mixture of different elements.
Let’s first look at the ArrayList interface provided by .NET:
1) Object creation and initialization
//对象创建 ArrayList arrayList = new ArrayList() {3.14, "vuefine"}; //添加元素 arrayList.Add("Hello wolrd"); arrayList.Add(5);
2) Accessing elements
//访问元素 object ele0 = arrayList[0]; Type t0 = ele0.GetType();//double
3) Modification Element
//修改元素 arrayList[0] = "Ni hao";
4) Delete element
//删除元素 //移除已存在的对象 arrayList.Remove(5); arrayList.RemoveAt(0); //移除不存在的对象 arrayList.Remove(12); //不抛异常
5) ArrayList and other object relationships
object cloneAL = arrayList.Clone(); //创建浅表副本 Type tClone = cloneAL.GetType(); //Array是abstract,只能通过静态方法创建array Array array = Array.CreateInstance(typeof(object),arrayList.Count); arrayList.CopyTo(array);//复制到array
Related articles:
js implements ArrayList function Attached example code
PHP method to implement C# copycat ArrayList
Java collection ArrayList sample code analysis
The above is the detailed content of Detailed introduction to using C# to describe data structure 3: ArrayList graphic code. For more information, please follow other related articles on the PHP Chinese website!