php集合与数组的区别,数组和集合的区别

所谓数组,是有序的元素序列,在C#语言中,数组可以存放任意多个同类型数据,但是一个数组在创建后,它的长度将固定不变,不能增加、也不能减少数据,这就是它的定长性。所有就有了更灵活的集合,集合能够保存的数据不定长,可以在程序执行的过程中,不断的发生变化,任意增加、或减少、或修改。在功能上,数组能实现的所有功能,集合都能实现,反之则不行。

在声明与赋值方面:

数组声明:数据类型[] 变量名     例如:

int[] numbers =new int[5]; //定义了一个numbers变量,它是一个数组可以存放5个int类型的数据

集合声明:List变量名;     例如:

List nums=new List();

集合还可以任意添加、删除、修改元素,实现如下:

//添加元素:变量名.Add(要添加的数据);

List nums=new List{3,5,7};

nums.Add(3);

//插入元素:变量名.Insert(索引,要插入的数据);

List nums=new List{3,5,7};

nums.Insert(1,10);

//删除元素:变量名.RemoveAt(索引); -->删除指定索引位置的元素

//变量名.Remove(数据); -->删除集合中与填写的数据相同的第一个匹配项

List nums=new List{1,1,2,3,5};

nums.RemoveAt(2); //删除索引为2的元素

nums.Remove(1); //删除与数据1相同的第一个元素

//修改元素:变量名[索引]=值;

//获取元素数量(获取集合长度):变量名.Count

示例1:数组分析器

Console.Write("请输入数组的长度:");

int len = int.Parse(Console.ReadLine());

int[] nums = new int[len];

#region 给数组赋值

for (int i=0;i

{

Console.Write("请输入数组的第"+(i+1)+"项:");

nums[i] = int.Parse(Console.ReadLine());

}

Console.Clear();

#endregion

#region 对数组进行排序并输出

Console.WriteLine("您输入的数字排序后如下:"); //对数组进行排序并输出

for (int i = 0; i < len; i++)

{

for (int j = i + 1; j < len; j++)

{

if (nums[i] > nums[j])

{

int temp = nums[i];

nums[i] = nums[j];

nums[j] = temp;

}

}

Console.Write(nums[i]+"\t");

}

Console.WriteLine();

#endregion

#region 判断奇数并输出

Console.WriteLine("其中,以下数字是奇数:"); //判断奇数并输出

for (int i = 0; i < len; i++)

{

if (nums[i] % 2 != 0)

{

Console.Write(nums[i]+"\t");

}

}

Console.WriteLine();

#endregion

#region 判断质数并输出

Console.WriteLine("以下数字是质数:"); //判断质数并输出

bool isFind=true;

for (int i = 0; i < len; i++)

{

for (int j = 2; j < nums[i]; j++)

{

if (nums[i] % j == 0)

{

isFind = false;

break;

}

}

if(isFind)

Console.Write(nums[i]+"\t");

isFind = true;

}

#endregion

Console.ReadLine();

示例2:集合管理器

List arrays = new List();

while (true) //无限循环

{

Console.WriteLine("集合中现有内容如下:"); Console.WriteLine("===============================================");

if (arrays.Count == 0) //当集合里没有值的时候

{

Console.WriteLine("集合中没有元素");

}

else

{

foreach (int array in arrays)

{

Console.Write(array + "\t"); //遍历,显示集合的值

}

Console.WriteLine();

} Console.WriteLine("===============================================");

Console.WriteLine("1.添加数据"); //获取用户输入

Console.WriteLine("2.删除数据");

Console.WriteLine("3.修改数据");

Console.WriteLine("4.升序排序");

Console.WriteLine("0.退出程序");

Console.Write("请选择(0-4):");

string input = Console.ReadLine();

if (input == "0") //用户输入0,则推出程序

{

break;

}

else if (input == "1") //用户输入1,则添加数字

{

Console.Write("请输入要添加的数字:");

arrays.Add( int.Parse(Console.ReadLine()));

}

else if (input == "2") //用户输入2,则删除数字

{

if (arrays.Count == 0)

{

Console.Write("集合中没有可删除的数据,按回车继续");

Console.ReadLine();

}

else

{

Console.WriteLine("请输入你要删除的数据(只会删除第一个匹配项):");

arrays.Remove(int.Parse(Console.ReadLine()));

}

}

else if (input == "3") //用户输入3,则修改数字

{

if (arrays.Count == 0)

{

Console.Write("集合中没有任何数据可以修改,按回车键继续");

Console.ReadLine();

}

else

{

Console.Write("请输入要删除的下标0-" + (arrays.Count - 1) + ":");

int index = int.Parse(Console.ReadLine());

if (index > (arrays.Count - 1))

{

Console.Write("输入错误,下标超出范围,按回车键继续");

Console.WriteLine();

}

else

{

Console.Write("请输入新的数据:");

arrays[index] = int.Parse(Console.ReadLine());

}

}

}

else if (input == "4") //用户输入4,则排序

{

if (arrays.Count == 0)

{

Console.Write("集合中没有元素,回车继续");

Console.ReadLine();

}

for (int i = 0; i < arrays.Count; i++)

{

for (int j = i + 1; j < arrays.Count; j++)

{

if (arrays[i] > arrays[j])

{

int temp = arrays[i];

arrays[i] = arrays[j];

arrays[j] = temp;

}

}

}

}

Console.Clear(); //每一个循环结束后清屏

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值