博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
集合 ArrayList 类
阅读量:7170 次
发布时间:2019-06-29

本文共 5537 字,大约阅读时间需要 18 分钟。

集合的基本信息:

System.Collections   系统类中的收藏类,定义各种对象(如列表,队列,位数组,哈希表和字典)的集合

常用的集合为ArrayList类;特殊集合一般会用到Queue队列集合、Stack栈集合哈有Hashtable哈希表集合。

集合和数组的区别:数组是连续的同一类型数据。集合可以是不连续的多种数据类型。

ArrayList:

ArrayList和Array的区别:

相同点:1.两者都实现了IList、ICollection、IEnumerable接口; 

     2.两者都可以使用证书索引访问集合中的元素,包括读取和赋值,且集合中的索引都从0开始。

不同点:1.ArrayList是集合而Array是数组;

     2.ArrayList是具体类而Array是抽象类;

     3.数组必须在实例化时指定元素的数量,改数量一旦确定就不可以更改了。而ArrayList扩展了这一点,当实例化时可以不指定集合元素数

     4.获取数组的元素时使用Length属性,而获取ArrayList集合的元素数使用Count属性;

     5.数组可以多维,而ArrayList只能是一维。

 

ArrayList al = new ArrayList();            al.Add(5);  //添加元素            al.Add(7);            al.Add(6);            Console.WriteLine(al.Count);//打印al的元素个数            al.Insert(1, 8);//在索引1的位置插入元素8.            for (int i = 0; i < 3; i++)            {                Console.WriteLine(al[i]);            }

  

 

ArrayList al = new ArrayList();            al.Add(5);  //添加元素            al.Add(7);            al.Add(6);            al.Add(7);            al.Add(6);            al.Remove(7);//把从索引为0开始的第一个数据为7的剔除            al.RemoveAt(3);//把索引为3的数据剔除            for (int i = 0; i < 3; i++)            {                Console.WriteLine(al[i]);            }

  

ArrayList al = new ArrayList();            al.Add(5);  //添加元素            al.Add(7);            al.Add(6);            al.Add(11);            al.Add(8);            al.Add(3);            al.Sort();//排序,升序            for (int i = 0; i < 6; i++)            {                Console.WriteLine(al[i]);            }
ArrayList al = new ArrayList();            al.Add(5);  //添加元素            al.Add(7);            al.Add(6);            al.Add(11);            al.Add(8);            al.Add(3);            al.Sort();            al.Reverse();//翻转语句,执行之后变降序            for (int i = 0; i < 6; i++)            {                Console.WriteLine(al[i]);            }

  

手机号抽奖

 

1 ArrayList al = new ArrayList(); 2             for (int i = 0; ; i++) 3             { 4                 Console.Write("请输入手机号:"); 5                 string a = Console.ReadLine(); 6                 if (a == "完成") 7                 { 8                     break; 9                 }10                 al.Add(a);11             }12             Console.WriteLine("输入完毕,请按回车进行抽奖!");13             Console.ReadLine();14             Random ran = new Random();15             for (int i = 0; i < 30; i++)16             {17                 int b = ran.Next(0, al.Count);18                 Console.Clear();19                 Console.Write(al[b]);20                 System.Threading.Thread.Sleep(100);21             }22             //Console.Clear();23             //Console.Write("18953370733");  //作弊
手机号抽奖

 

 

//输入班级人数,输入每人的姓名语数英成绩再打印出来,求语文两个最高分,数学两个最低分,英语平均分

1  ArrayList al = new ArrayList(); 2             Console.Write("输入班级人数:"); 3             int n = int.Parse(Console.ReadLine()); 4             for (int i = 0; i < n; i++) 5             { 6                 Console.Write("请输入第{0}个人的姓名:", i + 1); 7                 al.Add(Console.ReadLine()); 8                 Console.Write("请输入第{0}个人的语文成绩:", i + 1); 9                 al.Add(Console.ReadLine());10                 Console.Write("请输入第{0}个人的数学成绩:", i + 1);11                 al.Add(Console.ReadLine());12                 Console.Write("请输入第{0}个人的英语成绩:", i + 1);13                 al.Add(Console.ReadLine());14 15             }16             Console.WriteLine("输入完毕");17             double sum = 0;18             for (int i = 3; i < 4 * n; i += 4)19             {20                 sum += double.Parse(al[i].ToString());21             }22             double avg = sum / n;23             for (int i = 1; i < 4 * n - 4; i += 4)24             {25                 for (int j = i + 4; j < 4 * n; j += 4)26                 {27                     if (double.Parse(al[i].ToString()) < double.Parse(al[j].ToString()))28                     {29                         Object t1 = al[i];30                         al[i] = al[j];31                         al[j] = t1;32                         Object t2 = al[i - 1];33                         al[i - 1] = al[j - 1];34                         al[j - 1] = t2;35                         Object t3 = al[i + 1];36                         al[i + 1] = al[j + 1];37                         al[j + 1] = t3;38                         Object t4 = al[i + 1];39                         al[i + 2] = al[j + 2];40                         al[j + 2] = t4;41                     }42                 }43             }44             Console.WriteLine("语文两个最高分为{0}的{1}分,{2}的{3}分", al[0], al[1], al[4], al[5]);45             for (int i = 2; i < 4 * n - 4; i += 4)46             {47                 for (int j = i + 4; j < 4 * n; j += 4)48                 {49                     if (double.Parse(al[i].ToString()) > double.Parse(al[j].ToString()))50                     {51                         Object t1 = al[i];52                         al[i] = al[j];53                         al[j] = t1;54                         Object t2 = al[i - 1];55                         al[i - 1] = al[j - 1];56                         al[j - 1] = t2;57                         Object t3 = al[i + 1];58                         al[i + 1] = al[j + 1];59                         al[j + 1] = t3;60                         Object t4 = al[i - 2];61                         al[i - 2] = al[j - 2];62                         al[j - 2] = t4;63                     }64                 }65             }66             Console.WriteLine("数学两个最低分为{0}的{1}分,{2}的{3}分", al[0], al[2], al[4], al[6]);67             Console.WriteLine("英语平均分为{0}", avg);
View Code

 

转载于:https://www.cnblogs.com/maxin991025-/p/5966511.html

你可能感兴趣的文章
window与linux下,php的redis扩展安装
查看>>
VirtualBox虚拟机网络设置
查看>>
Mongodb 之 安全权限控制
查看>>
httpclient发送网络请求
查看>>
可自动切换登录不同系统测试实例
查看>>
jQuery Validate
查看>>
Building IKEv1 and IKEv2 on CentOS 7
查看>>
H5项目搭建
查看>>
js年龄限制最大最小日期,对闰年进行判断
查看>>
事务相关概念
查看>>
OAuth2
查看>>
PIKA 安装
查看>>
TPshop的支付证书url直接访问漏洞
查看>>
MyEclipse 快捷键
查看>>
12.4 linux任务计划cron chkconfig工具 systemd管理服务 unit介绍 target介绍
查看>>
11.18 Apache用户认证 11.19/11.20 域名跳转 11.21 Apache访问日志
查看>>
mysql数据库如何优化SQL
查看>>
2.27 linux和windows互传文件 3.1 用户配置文件和密码配置文件 3.2 用户组管理 3.3 用户管理...
查看>>
oracle 12cR2 DG 多租户之switchower切换
查看>>
OpenCV 3.4 Scalar 参数说明,与 CvType 结合使用
查看>>