集合及特殊集合

运用集合需要先写system.collections

常用的集合为arraylist类;特殊集合一般会用到queue队列集合、stack栈集合和hashtable哈希表集合。

数组是连续的、同一类型数据的一块区域,而集合可以是不连续的、多种数据类型的。

初始化

arraylist al=new arraylist();

赋值

al.add(4);

al.add(3);

add方法才是真正的添加,al[0]这种赋值方法仅适于修改。

 al.insert(2,"hello");//在某个索引号上插入某个元素

al.remove(4);//移除相应的元素

al.removeat(0);//移除相应索引位置的元素

al.sort();//排为升序

al.reverse();//反转集合;排降序,先排升序,再反转

al.clone();//克隆集合

ArrayList al1 = (ArrayList)al.Clone();//克隆集合

在有不同数据类型时遍历集合

foreach(object aa in al)

{console.writeline(aa);}

集合的元素默认类型为object,object为所有数据类型的基类

输入n个手机号,滚动抽奖

输入班级人数,输入姓名,英语数学语文成绩,输出英语平均分,数学最高分及姓名,语文最低分及姓名。

 

特殊集合

stack 干草堆集合,栈集合

一个一个赋值,一个一个取值,先进后出

初始化

stack st=new stack();

添加元素 .push()

st.push(2);

.count 取集合内元素的个数

.pop()  将元素一个一个弹出集合,只要使用一次pop方法,就会从最后一个元素开始弹出,弹出后集合中不再有这个元素

弹出时从最后推入的集合开始弹出

.peek() 只查看不弹出

.clear() 清空集合

想要全部打印集合中元素,需使用遍历集合

foreach(int aa in st)

{console.writeline(aa);} 遍历输出时,从最后输入开始往前一个一个输出

queue 队列集合

先进先出,一个一个的赋值,一个一个的取值

初始化

queue que=new queue();

添加元素:

que.enqueue(2);

que.enqueue(5);

移除一个元素,移除时会从头开始,从最开始输入的开始移除

que.dequeue();

.count 计算集合中元素个数

输出元素,用遍历集合

foreach(int aa in que)

{console.writeline(aa);}

console.writeline(que.count);//输出集合中元素个数

hashtable 哈希表集合

先进后出,一个一个赋值,但只能一次取值

初始化

hashtable ht=new hashtable;

添加元素,一个是key,一个是value;

            ht.Add(1, "张三");
            ht.Add(2, "张四");
            ht.Add(3, "张五");
            ht.Add(4, "张六");
            ht.Add(5, "张七");
            ht.Add(6, "张八");

哈希表集合没有索引,一个哈希表集合有两个集合,一个是keys,一个是values;

遍历集合打印:

foreach(object aa in ht.keys)

{console.writeline(aa);}

foreach(object bb in ht.values)

{console.writeline(bb);}

.remove() 将括号内的元素移除

.contains() 判断集合内是否有括号内的元素

.count 计算集合中元素的个数

使用枚举类型进行读取,排列成表格

idictionaryenumerator ide=ht.getenumerator();

while(ide.movenext())

{console.writeline(ide.key+" "+ide.value);}

原文地址:https://www.cnblogs.com/wy1992/p/5967050.html