非泛型集合的类和接口位于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. Python快速学习06:词典

    系列文章:[传送门] 上面讲的,特别是对象和类,大家好好体会. Python对象是Python语言的核心部分.今天介绍一个新类:词典(dictionary) 基本概念 字典是Python 中的映射数据 ...

  2. centos7非centos标准服务 /etc/init.d/service_name start || stop 启动异常

    公司自己写的java程序,在centos7系统执行/etc/init.d/service_name start||stop的时候报错: grafana二次开发的程序 [root@docp1 init. ...

  3. leetcode — valid-number

    /** * * Source : https://oj.leetcode.com/problems/valid-number/ * * * Validate if a given string is ...

  4. 接口隔离原则(ISP)

    设计应用程序的时候,如果一个模块包含多个子模块,那么我们应该小心对模块做出抽象.设想该模块由一个类实现,我们可以把系统抽象成一个接口.但是要添加一个新的模块扩展程序时,如果要添加的模块只包含原系统中的 ...

  5. 服务注册中心之ZooKeeper系列(三) 实现分布式锁

    通过ZooKeeper的有序节点.节点路径不回重复.还有节点删除会触发Wathcer事件的这些特性,我们可以实现分布式锁. 一.思路 zookeeper中创建一个根节点Locks,用于后续各个客户端的 ...

  6. Perl函数:字符串相关函数

    Perl字符串相关函数 字符串的内置函数有: chomp, chop, chr, crypt, fc, hex, index, lc, lcfirst, length, oct, ord, pack, ...

  7. VUE组件汇总

    内容 UI组件 开发框架 实用库 服务端 辅助工具 应用实例 Demo示例 UI组件 element ★13489 - 饿了么出品的Vue2的web UI工具套件 Vux ★8133 - 基于Vue和 ...

  8. 第一册:lesson twentynine..

    原文:Come in ,Amy. A:Come in B. Shut the door,please. This bedroom's very untidy. B:What must I do Mrs ...

  9. C#常量和字段以及各种方法的语法总结

    目录 一. 常量和字段.... 1 1. 常量.... 1 2.字段.... 1 二.方法.... 2 1.实例构造器和类(引用类型).... 2 2.实例构造器和结构(值类型).... 2 3.类型 ...

  10. 46.Linux-创建rc红外遥控平台设备,实现重复功能(2)

    上章链接:46.Linux-分析rc红外遥控平台驱动框架,修改内核的NEC解码函数BUG(1) 在上章分析了红外platform_driver后,已经修改bug后,接下来我们自己创建一个红外platf ...