ArrayList是一種動態數組,其容量可隨著我們的需要自動進行擴充.
ArrayList位於System.Collections命名空間中,所以我們在使用時,需要匯入此命名空間.
下面,我們還是在Student類的基礎上利用ArrayList操作,從而瞭解ArrayList的用法
Code:
- public class Student
- {
- public Student(){}
-
- public Student(String name,int age,String hobby)
- {
- this.Name = name;
- this.Age = age;
- this.Hobby = hobby;
- }
-
- private String name;
- public String Name
- {
- get{return name;}
- set{name = value;}
- }
-
- private int age;
- public int Age
- {
- get{return age;}
- set{age = value;}
- }
-
- private String hobby;
- public String Hobby
- {
- get{return hobby;}
- set{hobby = value;}
- }
-
- public void say()
- {
- Console.WriteLine("大家好,我是'{0}',今年{1}歲,我喜歡'{2}'",
- this.Name,this.Age,this.Hobby);
- }
- }
編寫測試類別,瞭解ArrayList的方法
Code:
- using System.Collections;
-
- public class TestStudent
- {
- public static void main(String args [])
- {
- //建立ArrayList對象
- ArrayList students = new ArrayList();
-
- //執行個體化幾個Student類對象
- Student rose = new Student("rose",25,"reading");
- Student jack = new Student("jack",28,"singing");
- Student mimi = new Student("mimi",26,"dancing");
-
- //利用ArrayList類的add()方法添加元素
- students.add(rose);
- students.add(jack);
- students.add(mimi);
-
- //利用ArrayList的Count屬性查看該集合中的元素數量
- int number = students.Count;
- Console.WriteLine("共有元素" + number + "個");
-
- //讀取單個元素,因為存入ArrayList中的元素會變為Object類型,
- //所以,在讀取時間,
- Student stu = students[0] as Student;
- stu.say();
-
- //遍曆元素 -- 通過索引
- for(int i = 0;i < students.Count;i ++)
- {
- Student a = students[i] as Student;
- a.say();
- }
- //利用foreach迴圈
- foreach(Object o in students)
- {
- Student b = o as Student;
- b.say();
- }
-
- //刪除元素 通過索引刪除
- students.removeAt(0);
- //刪除元素, 通過對象名
- students.remove(jack);
- //清空元素
- students.Clear();
-
- //我們知道,ArrayList的容量會隨著我們的需要自動按照一定規律
- //進行填充,當我們確定不再添加元素時,我們要釋放多餘的空間
- //這就用到了Capacity屬性和TrimtoSize()方法
- //利用Capacity屬性可以查看當前集合的容量
- //利用TrimtoSize()方法可以釋放多餘的空間
-
-
- //查看當前容量
- int number = students.Capacity;
- //去除多餘的容量
- students.TrimtoSize();
-
-
-
-
-
- }
- }