zoukankan      html  css  js  c++  java
  • C#动态数组ArrayList介绍

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

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

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

    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的方法


    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();                        
                 }   
    }  
    



  • 相关阅读:
    python编码
    异常、调试
    python的优点
    循环、判断
    对象
    模块
    函数
    变量
    Socket编程(九)
    进程简单了解和使用
  • 原文地址:https://www.cnblogs.com/lihaozy/p/1863628.html
Copyright © 2011-2022 走看看