ArrayList
ArrayList类是一个特殊的数组,成为集合。它来自于System.Collections命名空间;通过添加和删除元素,就可以动态改变数组的长度。
[作用]
无限添加各种类型的数据以及数组和类等 。
//添加命名空间
using System.Collections;
//------------------------------------
//声明一个列表变量arrayList并且实例化
ArrayList arrayList = new ArrayList();
//随便的方各种类型的数据,并且不确定放多少个
//添加数组
int[] nums = new int[] { 1, 2, 3, 4, 5 };
arrayList.Add(nums);
//添加类
arrayList.Add(new Person("小杨", '男', 18));
//添加其他类型
arrayList.Add(10);
arrayList.Add(20);
arrayList.Add("小苏");
arrayList.Add('女');
arrayList.Add(true);
arrayList.Add(3.15m);
arrayList.Add(79.9);
arrayList.Add("哈啊,我又变帅了");
//遍历列表
for (int i = 0; i < arrayList.Count ; i++)
{
if (arrayList[i] is int[])
{
int[] numbers = (int[])arrayList[i];
for (int j = 0; j < nums.Length; j++)
{
Console.WriteLine(numbers[j]);
}
}
else if (arrayList[i] is Person)
{
((Person)arrayList[i]).Show();
}
else
{
Console.WriteLine(arrayList [i]);
}
}
Console.ReadKey();
//----------------------------------------------------
//创建类
public class Person...
[添加数据三种方式]
//实例化ArrayList方法
ArrayList arrayList = new ArrayList();
//1.通过Add()方法添加数据,----但是算成一个元素
arrayList.Add("老牛");
//2.通过构造函数可以添加一个数组
int[] nums = new int[] { 1, 2, 3, 4, 5, 6 };
arrayList.Add(nums);
//3.通过AddRange()也可以添加数组
int[] nums1 = new int[] { 7, 8, 9, 10 };
arrayList.AddRange(nums);
//遍历列表
for (int i = 0; i < arrayList.Count; i++)
{
//如果其中有数组
if (arrayList[i] is int[])
{
int[] numbers = (int[])arrayList[i];//numbers=nums;nums------>arrayList[i]
for (int j = 0; j < nums.Length; j++)
{
Console.WriteLine(numbers[j]);
}
}
else
{
Console.WriteLine(arrayList[i]);
}
}
Console.ReadKey();
[常用方法]
插入
//实例化ArrayList方法
ArrayList arrayList =new ArrayList();
//添加数据
arrayList.Add(1);
arrayList.Add(3);
arrayList.Add(5);
arrayList.Add(7);
arrayList.Add(9);
//Insert,往某个下标位置插入一个值
for (int i = 1; i < 10; i += 2)
{
arrayList.Insert(i, i + 1);
}
//显示
for (int i = 0; i < arrayList.Count; i++)
{
Console.WriteLine(arrayList[i]);
}
Console.ReadKey();
其他方法
//清空集合
arrayList.Clear();
//判断集合中是否需包含这个元素
arrayList.Contains(1);
//集合中元素的个数
/ int num = arrayList.Count;
//找某个元素对应的索引
int number = arrayList.IndexOf(2);
//往一个索引位置插入一个数组
int[] nums = { 1, 2, 3 };
arrayList.InsertRange(4, nums);
//移除第一个匹配项2
arrayList.Remove(2);
//移除索引对应的值
arrayList.RemoveAt(1);
//从制定索引处开始移除几项
//如果超出索引,报异常
arrayList.RemoveRange(3, 4);
//反转
arrayList.Reverse();
//排序
arrayList.Sort();
[随机添加数字求和]
//随机的往集合中添加数据,添加10个,不能重复,再求和,求平均值
//实例化arrayList方法
ArrayList arr = new ArrayList();
//随机数
Random r = new Random();
while (arr.Count!=10)
{
//产生一个整数范围内的随机数
int num = r.Next(1, 100);
if (!arr.Contains(num))
{
arr.Add(num);
}
}
int sum = 0;
for (int i = 0; i < arr.Count; i++)
{
if (arr[i] is int)
{
sum += (int)arr[i];
Console.WriteLine(arr[i]);
}
}
Console.WriteLine(sum);
Console.ReadKey();
}