非泛型集合的类和接口位于System.Collections命名空间
如:列表、队列、位数组、哈希表和字典的集合
 
 
ArrayList 动态数组
可被单独索引的对象的有序集合
可以使用索引在指定的位置添加和移除项目,动态数组会自动重新调整它的大小
允许在列表中进行动态内存分配、增加、搜索、排序
 
Capacity:获取或设置可以包含的元素个数
Count:包含的元素个数
Item:获取或设置置顶索引处的元素
Add:末尾添加一个对象
Clear:移除所有的元素
Contains:判断元素是否在ArrayList中
GetRange(int index, int count):获取数组中的部分元素,返回的是ArrayList
Insert(int index, object value): 在指定索引处插入值
Remove:移除一个元素
RemoveAt(int index):移除指定索引处的元素
Reverse:将元素的顺序反转
Sort: 对Arraylist元素进行排序
 
 
Hashtable 哈希表
使用键来访问集合中的元素
哈希表中的每一项都有一个键/值对
 
Count:获取键值对个数
Item:获取或设置某键的值
Add:添加一直键值对
Clear:移除所有的元素
ContainsKey:是否包含某键
Remove:移除某键
 
 
SortedList 排序列表
使用键和索引来访问列表中的项
排序列表是数组和哈希表的组合
使用索引访问各项,则它是一个动态数组
使用键访问各项,则它是一个哈希表
 
Capacity:获取或设置sortedlist的容量
Count:获取元素个数
Add(object key, object value):添加一个元素
clear:移除所有元素
ContainsValue( object value):SortedList 是否包含指定的值
GetByIndex:获取指定索引出处的值
GetKey:获取指定索引处的键
GetKeyList:获取SortedList 中的键
GetValueList:获取 SortedList 中的值
Remove:移除指定索引处的元素
 
Stack 堆栈
后进先出
在列表中添加一项,称为推入元素
从列表中移除一项时,称为弹出元素
 
Count:获取元素个数
Clear:移除所有元素
Contains:是否包含某个元素
Peek:返回在stack的顶部的对象,但不移除
Pop:移除并返回到stack的顶部对象
Push:顶部添加一个对象
 
 
Queue 队列
先进先出
在列表中添加一项,称为入队
从列表中移除一项,称为出队
 
Count:获取元素个数
Clear:移除所有元素
Contains:是否包含某个元素
Dequeue:移除并返回到stack的顶部对象
Enqueue:末尾添加一个对象
 
实例
 using System;
using System.Collections; //<summary>
//以stack 堆栈为例
//</summary>
namespace CollectionStack
{
class program
{
static void Main(string[] args)
{
Stack st = new Stack(); // Push:顶部添加对象
st.Push("!");
st.Push("WORLD");
st.Push("HELLO"); Console.Write("push后元素为:");
foreach (string item in st)
{
Console.Write(item + " ");
}
Console.WriteLine(); // Contains:是否包含某个元素
Console.WriteLine("st中包含WORLD:" + st.Contains("WORLD"));
Console.WriteLine("st中包含dear:" + st.Contains("dear")); // Pop:移除并返回到stack的顶部对象
st.Pop();
Console.Write("pop移除后元素为:");
foreach (string item in st)
{
Console.Write(item + " ");
}
Console.WriteLine();
Console.ReadKey(); }
}
}

结果

 
 

C#-非泛型集合的方法的更多相关文章

  1. Linq操作非泛型集合

    我们都知道,Linq能查询泛型集合,确切的说是:LINQ能实现查询泛型对象或者实现了IEnumerable.但是,很遗憾的是诸如ArrayList这样的非泛型集合并没有实现IEnumerable.那咋 ...

  2. C#非泛型集合和泛型集合的超级详解

    C# 泛型集合之非泛型集合类与泛型集合类的对应: ArrayList对应List HashTable对应Dictionary Queue对应Queue Stack对应Stack SortedList对 ...

  3. LINQ学习系列-----3.1 查询非泛型集合

    一.问题起源 LINQ to object在设计时,是配合IEnumerable<T>接口的泛型集合类型使用的,例如字典.数组.List<T>等,但是对于继承了IEnumera ...

  4. 笔记:Struts2 Action 非泛型集合元素类型转换

    局部类型转换文件 局部类型转换文件的文件名应为 ActionName-conversion.properties,其中 ActionName 是需要替换为 Action 的类名称,后面的 conver ...

  5. 编写高质量代码改善C#程序的157个建议——建议20:使用泛型集合代替非泛型集合

    建议20:使用泛型集合代替非泛型集合 在建议1中我们知道,如果要让代码高效运行,应该尽量避免装箱和拆箱,以及尽量减少转型.很遗憾,在微软提供给我们的第一代集合类型中没有做到这一点,下面我们看Array ...

  6. C#非泛型集合和泛型集合

    第一  : ArrayList(非泛型集合)  与List(泛型集合) ArrayList 是数组的复杂版本.ArrayList 类提供在大多数 Collections 类中提供但不在 Array(数 ...

  7. LINQ学习系列-----3.1 查询非泛型集合和多个分组

    一.查询非泛型集合 1.问题起源 LINQ to object在设计时,是配合IEnumerable<T>接口的泛型集合类型使用的,例如字典.数组.List<T>等,但是对于继 ...

  8. 浅谈:C#中的非泛型集合

    1.首先:ArrayList:非泛型集合 List:泛型集合 集合跟数组比较我们更容易理解.数组:1,长度固定2,数据类型预先声明 集合:1,长度可变2,数据类型预先声明的为泛型集合,数据类型不限定为 ...

  9. Linq查询非泛型集合要指定Student类型(比如List)

    #region Linq to 集合查询非泛型集合要指定Student类型            //ArrayList list = new ArrayList();            //li ...

随机推荐

  1. Spring IOC分析

    前言 关于Spring,我想无需做太多的解释了.每个Java程序猿应该都使用过他.Spring的ioc和aop极大的方便了我们的开发,但是Spring又有着不好的一面,为了符合开闭原则,Spring的 ...

  2. 07 训练Tensorflow识别手写数字

    打开Python Shell,输入以下代码: import tensorflow as tf from tensorflow.examples.tutorials.mnist import input ...

  3. MFC控件编程之复选框单选框分组框

    MFC控件编程之复选框单选框分组框 一丶分组框 分组框 英文叫做 GroubBox 添加了分组框主要就是分组.好看.不重点介绍 二丶单选框 英文: Raido Button 单选框需要注意的事项 1. ...

  4. Linux软件包管理之源码包、脚本安装包

    目录 1.源码包和RPM包的区别 RPM包和源码包默认安装位置: 由于安装位置不同带来的影响 2.源码包安装 ①.安装准备 ②.安装注意事项 ③.安装源码包 3.源码包卸载 4.脚本安装包 5.总结 ...

  5. Perl的IO操作(1):文件句柄

    文件句柄 文件句柄用来对应要操作的文件系统中的文件,这么说不太严谨,但比较容易理解.首先为要打开的文件绑定文件句柄(称为打开文件句柄),然后在后续的操作中都通过文件句柄来操作对应的文件,最后关闭文件句 ...

  6. 【转载】Asp.Net中使用基于jQuery的javascript前台模版引擎JTemplate

    JTemplate是基于jQuery的开源的前端模版引擎,在Jtemplate模板中可以使用if判断.foreach循环.for循环等操作,使用Jtemplate模板优点在于ajax局部刷新界面时候不 ...

  7. C# WPF 获取窗体和控件的句柄

    窗体: IntPtr hwnd = new WindowInteropHelper(this).Handle; 控件: IntPtr hwnd = ((HwndSource)PresentationS ...

  8. ABP Changing Httpcode status

    小弟初来乍到,分享一些工作学习中遇到的问题和解决方式,如有不准确或是有错误的地方,希望不吝赐教,谢过了.  --Dogtwo 起因: ABP 中异常处理的思路是很清晰的.一共五种类型的异常类. Abp ...

  9. 解码 id_token

    简介 id_token是一个特殊的token,在Microsoft Graph的认证和授权过程中颁发,它包含了已认证用户的一些信息.本文将介绍如何通过实例理解id_token,并且演示了如何解码. 准 ...

  10. Startup在不同环境中的处理

    ASP.NET Core引进了在多种环境中对控制应用程序行为的进一步支持,例如开发环境(Development Environment).预发布环境(Staging Environment),和生产环 ...