随笔 - 307  文章 - 0  评论 - 30  阅读 - 79万

C#动态数组ArrayList介绍

ArrayList是一种动态数组,其容量可随着我们的需要自动进行扩充.

ArrayList位于System.Collections命名空间中,所以我们在使用时,需要导入此命名空间.

下面,我们还是在Student类的基础上利用ArrayList操作,从而了解ArrayList的用法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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的方法


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
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();                       
             }  



posted on   kkmm  阅读(46275)  评论(0编辑  收藏  举报
编辑推荐:
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
阅读排行:
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 数据库服务器 SQL Server 版本升级公告
· 程序员常用高效实用工具推荐,办公效率提升利器!
· C#/.NET/.NET Core技术前沿周刊 | 第 23 期(2025年1.20-1.26)
< 2010年10月 >
26 27 28 29 30 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31 1 2 3 4 5 6

点击右上角即可分享
微信分享提示