集合——Array和ArrayList的使用
来源:互联网 发布:mac版ps cs6破解补丁 编辑:程序博客网 时间:2024/05/18 08:05
1、Array和ArrayList的使用
System.Array类(这是一个简单的数字)和System.Collections.ArrayList类(使用更加的高级)
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Collections;namespace 集合{ class Program { static void Main(string[] args) { #region 利用的是Array类型 Console.WriteLine("Create an Array type collection of Animal"+"objects and use it:"); Animal[] animalArray = new Animal[2]; //建立一个Animal的数组 建立Array的类的标准形式 “类名[] 实例名称= new 类名” Cow myCow1 = new Cow("Deirdre"); animalArray[0] = myCow1; animalArray[1] = new Chicken("Ken"); foreach(Animal myAnimal in animalArray){ Console.WriteLine("New {0} object added to Array collection,"+"Name={1}",myAnimal.ToString(),myAnimal.Name); } Console.WriteLine("Array collection contains {0} objects.",animalArray.Length); //Array的长度 animalArray是Array类型 animalArray[0].Feed();//调用Feed函数 ((Chicken)animalArray[1]).LayEgg();// 强制进行转化 Console.WriteLine();//产生空白行 #endregion #region 利用的是ArrayList类型 优点:可以不具体指定空间的大小 Console.WriteLine("Create an ArrayList type collection of Animal"+"objects and use it:"); ArrayList animalArrayList = new ArrayList(); Cow myCow2 = new Cow("Hayley"); animalArrayList.Add(myCow2); //添加 animalArrayList.Add(new Chicken("Roy")); foreach(Animal myanimal in animalArrayList){ Console.WriteLine("New {0} object added to ArrayList collection ,"+"Name ={1}",myanimal.ToString(),myanimal.Name); } Console.WriteLine("ArrayList collection contains {0} objects.",animalArrayList.Count); ((Animal)animalArrayList[0]).Feed(); ((Chicken)animalArrayList[1]).LayEgg(); Console.WriteLine(); #endregion #region ArrayList高级功能 Console.WriteLine("Additional manipulation of ArrayList:"); animalArrayList.RemoveAt(0); //移除 ((Animal)animalArrayList[0]).Feed(); animalArrayList.AddRange(animalArray);//将现有的集合作为一个参数,将其内容复制到新的实例中 ((Chicken)animalArrayList[2]).LayEgg(); Console.WriteLine("The animal is now called {0}.",myCow1.Name,((Animal)animalArrayList[1]).Name); #endregion Console.ReadKey(); } }}
效果展示:
2、Array和ArrayList的一些区别
(1)集合的创建
Array:只有用固定的大小来初始化数组,然后使用
Animal[] animalArray = new Animal[2];
ArrayList:不需要初始化其大小,可以创建ArrayList的列表
ArrayList animalArrayList = new ArrayList();
[注:]这个类还有另外两个构造函数,第一个构造函数可以把现有的集合作为一个参数,将其内容复制到新的实例中;另一个构造函数可以通过一个参数设置集合的容量,但这个并不是绝对容量,当集合中的项数超过这个值时,容量会自动增加一倍。
(2)初始化赋值
Array:
Cow myCow = new Cow("Deirdre");animalArray[0] = myCow;anmialArray[1] = new Chicken("Ken");
ArrayList:对于ArrayList集合,它没有现成的项,也没有NULL引用的项。这样不能以相同的方式给索引赋予新实例。
Cow myCow2 = new Cow("Hayley");animalArrayList.Add(myCow2);animalArrayList.Add(new Chicken("Roy"));
(3)求长度
Array:
animalArray.length
ArrayList:
animalArrayList.Count
(4)访问集合
Array:简单数组是强类型化的,可以直接访问它们所包含的项类型,所以可以直接调用项的方法:
animalArray[0].Feed();
数组类型是抽象类型Animal,因此不能直接调用由派生类产生的方法,而必须使用数据类型转换:
((Chicken)animalArray[1]).LayEgg();
ArrayList:ArrayList集合是System.Object对象的集合(通过多态性付给Animal对象),所以必须对所有的项进行数据类型转换:
((Animal)animalArrayList[0]).Feed();((Chicken)animalArrayList[1]).LayEgg();
3、ArrayList的一些高级用法
animalArrayList[0].Remove();animalArrayList[0].RemoveAt();animalArrayList[0].AddRange();
菜鸟学习,根据自己的理解整理的《C#入门经典》的笔记,如有错误,请指出,谢谢!O(∩_∩)O哈哈~
0 0
- 集合——Array和ArrayList的使用
- Arraylist集合的使用
- 集合 - Array && ArrayList
- Array和ArrayList的区别
- Array和ArrayList的区别
- Array和ArrayList的区别
- Array和ArrayList的区别
- Array和ArrayList的区别
- Array 和 ArrayList 的区别
- [Array和ArrayList的区别]
- Array和ArrayList的区别
- Array和Arraylist的区别
- JAVA集合——ArrayList 使用实例
- Java基础9:ArrayList和Array使用
- 集合类ArrayList的使用
- 集合中ArrayList的使用
- ArrayList集合的简单使用
- C# ArrayList 集合的使用
- mac Rstudio 环境下对象无法永久清除的解决办法
- Hadoop-YARN(资源管理系统)
- 1月16号页面布局练习
- webpack 入门必知必会
- (7)Java多线程之消费者/生产者模式
- 集合——Array和ArrayList的使用
- OpenLayers3的轨迹回放
- linux crontab
- 统计图控件ChartControl的横轴滚动条用法
- Java设计模式之策略模式
- Glide 一个专注于平滑滚动的图片加载和缓存库
- ORACLE expdp备份到windows网络共享文件目录(NFS)
- Android修改主题,去掉ActionBar、TitleBar
- java 设计程序 如何把汉字转成 %B6%B7%C6%C6%B2%D4%F1%B7