zoukankan      html  css  js  c++  java
  • 集合及特殊集合

    运用集合需要先写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);}

  • 相关阅读:
    LeetCode 121. Best Time to Buy and Sell Stock
    LeetCode 221. Maximal Square
    LeetCode 152. Maximum Product Subarray
    LeetCode 53. Maximum Subarray
    LeetCode 91. Decode Ways
    LeetCode 64. Minimum Path Sum
    LeetCode 264. Ugly Number II
    LeetCode 263. Ugly Number
    LeetCode 50. Pow(x, n)
    LeetCode 279. Perfect Squares
  • 原文地址:https://www.cnblogs.com/wy1992/p/5967050.html
Copyright © 2011-2022 走看看