ArrayList集合 、特殊集合
一、ArrayList集合 集合内可以放不同类型的元素
另:object类型为所有数据类型的基类
添加元素:.add();
清空集合:al.clear();
克隆集合:.clone();
判断是否包含某个元素:.contains();
获取第一次出现该元素的索引号:.indexof();
获取最后一次出现该元素的索引号:lastindexof();
移除第一个匹配元素:.Remove();
移除某个索引位置上的元素:.RemoveAt();
排序 升序:.sort();
翻转集合:.Reverse();
在有不同数据类型的时候需要遍历集合:用object foreach(object aa in ai )
暂停程序:System.Threading.Thread.Sleep(300); 括号内为毫秒
练习:输入班级人数 姓名 语数英成绩 输出语文最高分 数学最低分 是谁考的 以及英语平均分
- ArrayList al = new ArrayList();
- Console.Write("请输入班级人数:");
- int a = int.Parse(Console.ReadLine());
- for (int i = ; i < a; i++)
- {
- Console.Write("请输入第{0}个人的姓名:", i + );
- al.Add(Console.ReadLine());
- Console.Write("请输入第{0}个人的语文成绩:", i + );
- al.Add(Console.ReadLine());
- Console.Write("请输入第{0}个人的数学成绩:", i + );
- al.Add(Console.ReadLine());
- Console.Write("请输入第{0}个人的英语成绩:", i + );
- al.Add(Console.ReadLine());
- }
- for (int i = ; i < * a - ; i += )
- {
- for (int j = i + ; j < * a; j += )
- {
- if (double.Parse(al[i + ].ToString()) < double.Parse(al[j + ].ToString()))
- {
- object zhong = al[i + ];
- al[i + ] = al[j + ];
- al[j + ] = zhong;
- zhong = al[i];
- al[i] = al[j];
- al[j] = zhong;
- zhong = al[i + ];
- al[i + ] = al[j + ];
- al[j + ] = zhong;
- zhong = al[i + ];
- al[i + ] = al[j + ];
- al[j + ] = zhong;
- }
- }
- }
- Console.Clear();
- Console.WriteLine("语文成绩最高分是{0},是{1}考的。", al[], al[]);
- for (int i = ; i < * a - ; i += )
- {
- for (int j = i + ; j < * a; j += )
- {
- if (double.Parse(al[i + ].ToString()) > double.Parse(al[j + ].ToString()))
- {
- object zhong = al[i + ];
- al[i + ] = al[j + ];
- al[j + ] = zhong;
- zhong = al[i];
- al[i] = al[j];
- al[j] = zhong;
- zhong = al[i + ];
- al[i + ] = al[j + ];
- al[j + ] = zhong;
- zhong = al[i + ];
- al[i + ] = al[j + ];
- al[j + ] = zhong;
- }
- }
- }
- Console.WriteLine("数学成绩最低分是{0},是{1}考的。", al[], al[]);
- double sum = ;
- for (int i = ; i < * a; i += )
- {
- sum += double.Parse(al[i + ].ToString());
- }
- Console.WriteLine("英语平均分是:{0}", sum / a);
- 复制代码
特殊集合:
1.stack集合
也叫栈集合、干草堆集合 特点是先进后出 一个一个赋值 一个一个取值 按顺序
添加元素:.push();
弹出元素:.pop();弹出最后一个 并且弹出后 集合内不再有此元素
查看元素:.peek();只查看 不弹出
2.队列集合
queue 特点是先进先出 一个一个赋值 一个一个取值
添加元素:.enqueue();
移除一个元素:.dequeue();从头开始移除
3.哈希表集合
hashtable 哈希表 先进后出 一个一个赋值 但只能一起取值
添加元素:.add(,);一次添加两个元素 一个是key 一个是value。
ArrayList集合 、特殊集合的更多相关文章
- c# 集合ArrayList;特殊集合Stack、Queue
一) ArrayList 1.foreach遍历数组中各个元素,执行内部语句 2. 3. 4. myarry.Clear();//将集合清空 bool b = myarry.Contains(3 ...
- IT第二十一天 - Collections、ArrayList集合、LinkedList集合、Set集合、HashMap集合、集合的操作注意【修20130828】
NIIT第二十一天 上午 集合 1. 集合Collection存储数据的形式是单个存储的,而Map存储是按照键值对来存储的,键值对:即键+值同时存储的,类似align="center&quo ...
- HashMap,Hashset,ArrayList以及LinkedList集合的区别,以及各自的用法
基础内容 容器就是一种装其他各种对象的器皿.java.util包 容器:Set, List, Map ,数组.只有这四种容器. Collection(集合) 一个一个往里装,Map 一对一对往里装. ...
- 数组转集合、集合转数组、字符串数组与int型、long型数组等的转换
在项目中经常会遇到数组转集合.集合转数组.数组之间类型转换等操作 1.数组转集合 为了实现把一个数组转换成一个ArrayList,很多Java程序员会使用如下的代码: String str[] = { ...
- 廖雪峰Java5集合-1Java集合简介-1Java结合简介
1.集合 定义:集合就是一堆东西.集合里的东西,称为元素Element 数学中的集合: 有限集合: * 一个班所有的学生组成的集合 * 一个网站所有的商品组成的集合 无限集合: * 全体自然数集合 * ...
- Java集合----List集合
List List 代表一个元素有序.且可重复的集合,集合中的每个元素都有其对应的顺序索引List 允许使用重复元素,可以通过索引来访问指定位置的集合元素.List 默认按元素的添加顺序设置元素的索引 ...
- 集合_java集合框架
转载自http://blog.csdn.net/zsw101259/article/details/7570033 Java集合框架图 简化图: Java平台提供了一个全新的集合框架.“集合框架”主要 ...
- Java 集合学习--集合概述
一.集合框架 集合,通常也叫容器,java中有多种方式保存对象,集合是java保存对象(对象的引用)的方式之一,之前学习的数组是保存对象的最有效的方式,但是数组却存在一个缺陷,数组的大小是固定的,但是 ...
- Java集合——遍历集合元素并修改
Java集合——遍历集合元素并修改 摘要:本文主要总结了遍历集合的方式,以及在遍历时修改集合要注意的问题. 遍历Collection 对List和Set的遍历,有四种方式,下面以ArrayList为例 ...
- Kotlin集合——List集合
Kotlin集合——List集合 转 https://www.jianshu.com/p/3f3bb4943638 List集合的最大特征就是集合元素都有对应的顺序索引.List集合允许使用重复元 ...
随机推荐
- 【PHP】分页条函数封装
这两天在学习PHP 想做一个前端后台都包含的网站 看了一些视频发现大牛们都是将封装起来实现代码的重用性 本人技拙也写了个分页条函数的封装 分页条在用PHP网站开发中十分常用 通过封装代码来提高网站开发 ...
- linux 两个文件合并
可以使用cat命令,有两种实现的方式,一种将两个文件合并的到一个新的文件,另一种将一个文件追加到另一个文件的末尾. 方法一:使用cat命令从文件中读入两个文件,然后将重定向到一个新的文件.这种方法可以 ...
- CenOS 6.5下安装docker(转)
2014-12-15 10:23 blessed24 To be Done的博客 字号:T | T 最近在自己的centos上搭建了一个Docker,顺便将一些常用操作记录下. AD:51CTO网+ ...
- HighChats图表控件显示精度小数点的方法
相信大家对highchats这个图表控件并不陌生,最近在项目中用到它,但是某些字段需要显示为小数点,顾查找资料文档发现下面两个方式可以实现: 初始化时候添加如下两个参数 tooltip:{ fo ...
- CDS
very nice artical talk about mergechangelog and cleardataset Delta and Data http://www.cnblogs.com/y ...
- PCA and kmeans MATLAB实现
MATLAB基础知识 l Imread: 读取图片信息: l axis:轴缩放:axis([xmin xmax ymin ymax zmin zmax cmin cmax]) 设置 x.y 和 ...
- shopex 小知识
产品链接: http://www.--/product-172.html 中间的数字代表 sdb_goods 表中 的 goods_id ... 表示数据库里的产品 id. 分类链接: http: ...
- #define用法解析
#define Add(a,b) a+b; 在一般使用的时候是没有问题的,但是如果遇到如: c * Add(a,b) * d 的时候就会出现问题,代数式的本意是a+b然后去和c,d相乘,但是因为使用了 ...
- window下安装pip工具,再利用pip安装工具来安装其他的python包
1.在安装pip前,请确认你window系统中已经安装好了python,和easy_install工具,如果系统安装成功,easy_install在目录C:\Python27\Scripts 下面,如 ...
- Java学习1 - java 历史
Sun的Java语言开发小组成立于1991年,其目的是开拓消费类电子产品市场,例如:交互式电视,烤面包箱等.Sun内部人员把这个项目称为 Green,那时World Wide Web还在图纸上呢.该小 ...