集合、ArrayList 集合。Stack集合。Queue集合。以及Hashtable集合
arrayList
首先复制Colections加 ;
创建arrayList ar =new arrayList();
//ArrayList al=new ArrayList();
//实例化初始化
//al.Add(4);
//真的添加
//al[0]=3;
//al[0]这种赋值方式只是修改
//Console.WriteLine(al[0]);
//al.Insert(2,"hello");
//原有的个数加一;
//al.Clear();
——————————————————————————————————————————————————————————————————————————————
ArrayList具体提供的功能:
属性 功能说明
Count 获取 ArrayList 中实际包含的元素数
方法 功能说明
Add () 将对象添加到 ArrayList 的结尾处
Clear() 从 ArrayList 中移除所有元素
Clone() 创建 ArrayList 的浅表副本
Contains() 确定某元素是否在 ArrayList 中
IndexOf() 已重载。返回 ArrayList 或它的一部分中某个值的第一个匹配项的从零开始的索引
Insert() 将元素插入 ArrayList 的指定索引处。可在任意位置插入
LastIndexOf() 已重载。返回 ArrayList 或它的一部分中某个值的最后一个匹配项的从零开始的索引
Remove() 从 ArrayList 中移除特定对象的第一个匹配项
RemoveAt() 移除 ArrayList 的指定索引处的元素
Sort() 已重载。对 ArrayList 或它的一部分中的元素进行排序,升序
Reverse() 翻转整个集合
——————————————————————————————————————————————————————————————————————————————
例题输入一些中将手机号码。滚动循环一共三秒钟。加(作弊)
ArrayList al =new ArrayList();
Console.Write("请输入人数 ");
int a =int.Parse( Console.ReadLine());
long f=12345678789;
for (int i = 0; i < a; i++)
{
Console.Write("请输入第{0}个人的手机号",(i+1));
al.Add(Console.ReadLine());
}
Console.Write("所有号码输入完毕");
Console.ReadLine();
Random c= new Random();
for (int i= 0; i< 30; i++)
{
int b = c.Next(a);
Console.Write("中奖号码是:" +al[b]);
System.Threading.Thread.Sleep(100);
Console.Clear();
}
Console.Clear();
Console.Write("中奖号码为" + f);
Console.ReadLine();
————————————————————————————————————————————————————————————————————————————————
例二
输入班级人数还有每个人的姓名。语文,数学英语成绩。求语文最高分,并且输出姓名分数,数学最低分和姓名,还有英语的平均分
ArrayList al = new ArrayList();
Console.Write("请输入班级的人数");
int a = int.Parse(Console.ReadLine());
for (int i = 0; i < a; i++)
{
Console.Write("请输入第{0}个人的姓名:", i + 1);
al.Add(Console.ReadLine());
Console.Write("请输入第{0}个人的语文成绩:", i + 1);
al.Add(Console.ReadLine());
Console.Write("请输入第{0}个人的数学成绩:", i + 1);
al.Add(Console.ReadLine());
Console.Write("请输入第{0}个人的英语成绩:", i + 1);
al.Add(Console.ReadLine());
}
for (int i = 0; i < 4 * a - 3; i += 4)
{
for (int j = i + 4; j < 4 * a - 2; j += 4)
{
if (double.Parse(al[i + 1].ToString()) < double.Parse(al[j + 1].ToString()))
{
object h = al[i];
al[i] = al[j];
al[j] = h;
object f = al[i + 1];
al[i + 1] = al[j + 1];
al[j + 1] = f;
object g = al[i + 2];
al[i + 2] = al[j + 2];
al[j + 2] = g;
object d = al[i + 3];
al[i + 3] = al[j + 3];
al[j + 3] = d;
}
}
}
Console.Write("{0}的语文成绩最高,是{1}.", al[0], al[1]);
for (int i = 0; i < 4 * a - 3; i += 4)
{
for (int j = i + 4; j < 4 * a - 2; j += 4)
{
if (double.Parse(al[i + 2].ToString()) >double.Parse(al[j + 2].ToString()))
{
object h = al[i];
al[i] = al[j];
al[j] = h;
object f = al[i + 1];
al[i + 1] = al[j + 1];
al[j + 1] = f;
object g = al[i + 2];
al[i + 2] = al[j + 2];
al[j + 2] = g;
object d = al[i + 3];
al[i + 3] = al[j + 3];
al[j + 3] = d;
}
}
}
Console.Write("{0}的数学成绩最低,是{1}", al[0], al[2]);
int s = 0;
for (int i = 0; i <4*a; i+=4)
{
s += int.Parse(al[i+3].ToString());
}
Console.Write(s / a);
Console.ReadLine();
————————————————————————————————————————————————————————————————————-——————————
//stack集合
// Stack st=new Stack();
// st.push(1);
// st.push(2);
// st.push(3);
// st.push(4);
// st.push(5);
////个数
// Console.WriteLine(st.Count);
////只要用pop就弹出
////只查看。不输出
////、Console.WriteLine(st.Peek());
// //foreach (int aa in st)
// //{
// // Console.WriteLine(aa);
// //}
________________________________________________________________________________________________________________________________-
//队列集合。先进先出
// Queue que = new Queue();
// que.Enqueue(5);
// que.Enqueue(1);
// que.Enqueue(3);
// que.Enqueue(5);
// que.Enqueue(6);
////一出一个元素,从头开始
// que.Dequeue();
// foreach (int aa in que)
// {
// Console.WriteLine(aa);
// }
————————————————————————————————————————————————————————————————————————————————
//哈希表集合
// //一个一个赋值,但是只能一起取值
// Hashtable ht = new Hashtable();
//// 添加元素
//ht.Add(1, "一");
//ht.Add(2, "二");
//ht.Add(3, "三");
//ht.Add(4, "四");
//ht.Add(5, "五");
//ht.Add(6, "六");
//ht.Add(7, "七");
//foreach (object /*如果不知道就用object*/aa in ht.Keys)//单纯的key的类型
//{
// Console.WriteLine(aa);
//}
//foreach (object /*如果不知道就用object*/bb in ht.Values)//单纯的Value的类型
//{
// Console.WriteLine(bb);
//}
////使用枚举类型排列成表格
//IDictionaryEnumerator ide = ht.GetEnumerator();
//while (ide.MoveNext())//当ide能够获取到下一个时
//{
// Console.WriteLine(ide.Key + "\t" + ide.Value); //没有s表示一组。有s表示集合
//}
_______________________________________________________________________________________________________________________________
集合、ArrayList 集合。Stack集合。Queue集合。以及Hashtable集合的更多相关文章
- 集合的概念 Stack和Queue Dictionary ArrayList和List<T>方法及用法
Stack和stack<T>方法一样// 管理方式: 后进先出 LIFO 栈// Stack<string> s=new Stack<string>();//(放一 ...
- HashTable集合和练习题_计算一个字符串中每一个字符出现的次数
HashTable集合 /** * java.util.Hashtable<K,V>集合 implement Map<K,V>接口 * Hashtable:底层也是一个哈希表, ...
- 转:C#常用的集合类型(ArrayList类、Stack类、Queue类、Hashtable类、Sort)
C#常用的集合类型(ArrayList类.Stack类.Queue类.Hashtable类.Sort) .ArrayList类 ArrayList类主要用于对一个数组中的元素进行各种处理.在Array ...
- Java集合的Stack、Queue、Map的遍历
Java集合的Stack.Queue.Map的遍历 在集合操作中,常常离不开对集合的遍历,对集合遍历一般来说一个foreach就搞定了,但是,对于Stack.Queue.Map类型的遍历,还是有一 ...
- 特殊集合(stack、queue、hashtable的示例及练习)
特殊集合:stack,queue,hashtable stack:先进后出,一个一个的赋值一个一个的取值,按照顺序. .count 取集合内元素的个数 .push() ...
- 10-23C#基础--特殊集合(stack、queue、hashtable)
特殊集合一:stack集合--堆集合 1.定义:堆集合是集合中一种特殊的类,在Stack中也有许多方法和属性,下面一一列举: 命名格式:Stack ss=new Stack(); 2.如何添加数据:p ...
- Java ArrayList和Vector、LinkedList与ArrayList、数组(Array)和列表集合(ArrayList)的区别
ArrayList和Vector的区别ArrayList与Vector主要从二方面来说. 一.同步性: Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步 ...
- 数组Array和列表集合ArrayList、LinkedList和Vector的区别
一.ArrayList和Vector的区别 ArrayList与Vector主要从以下方面来说. 1.同步性: Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同 ...
- Java 集合系列 06 Stack详细介绍(源码解析)和使用示例
java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...
- Java集合框架(四)—— Queue、LinkedList、PriorityQueue
Queue接口 Queue用于模拟了队列这种数据结构,队列通常是指“先进先出”(FIFO)的容器.队列的头部保存在队列中时间最长的元素,队列的尾部保存在队列中时间最短的元素.新元素插入(offer)到 ...
随机推荐
- 将url转化成对象
<script> var url = "baidu.com?"; //var url = window.location.search; //获取url functio ...
- Array.prototype.each
Array.prototype.each = function(closure){ //递归合并 return this.length ? [closure(this.slice(0,1))].con ...
- WebView自适应屏幕大小
webView.getSettings().setUseWideViewPort(true); webView.getSettings().setLoadWithOverviewMode(true); ...
- 夺命雷公狗---DEDECMS----19dedecms栏目列表页的完成
我们的栏目页表页的模版如果不清楚叫什么名,可以通过: 这里很清楚的记录着,我们来看下他: 他长得和我们以前做首页时候是不是很像呢?其实就是一样的,我们改下即可,如下所示: {dede:channel ...
- 夺命雷公狗---DEDECMS----11dedecms字段标签
如果我们在开发的时候需要对获取的某个字段进行二次开发,我们可以对字段值调用某个函数来完成需求, 实例代码如下所示: <!DOCTYPE html> <html> <hea ...
- [MaxOSX] 路由操作
查看当前路由情况 netstat -nr 添加路由 sudo route -n add x.x.x.x/24 x.x.x.x 可以简单这样子理解: 第1个参数 x.x.x.x/24是远程地址 第2个参 ...
- yii2多语言设置
yii2的多语言切换功能 1.页面添加语言切换按钮,如下图: 代码如下: <ul> <li> <a href="javascri ...
- mongodb数据库实践笔记
mongodb 操作规则 从网站上下载安装文件然后在安装目录下创建文件夹data和log创建配置文件mongo.config里面填充如下: ##数据文件dbpath=D:\mongodb\data## ...
- 鸟哥的linux私房菜学习记录之档案与目录管理
绝对路径和相对路径 绝对路径就是从根目录到某个目录下的路径,从根目录写起,也就是/ 相对路径就是从用户当前目录的路径写起 目录相关操作 cd 切换路径 例如:cd /var/www 切换到/var/w ...
- 161010、在大型项目中组织CSS
编写CSS容易. 编写可维护的CSS难. 这句话你之前可能听过100次了. 原因是CSS中的一切都默认为全局的.如果你是一个C程序员你就知道全局变量不好.如果你是任何一种程序员,你都知道隔离和可组合的 ...