非泛型集合的类和接口位于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. JwtBearer认证

    ASP.NET Core 认证与授权[4]:JwtBearer认证   在现代Web应用程序中,通常会使用Web, WebApp, NativeApp等多种呈现方式,而后端也由以前的Razor渲染HT ...

  2. MFC原理第一讲.MFC的本质.以及手工编写MFC的程序

    MFC原理第一讲.MFC的本质.以及手工编写MFC的程序 PS: 这个博客属于复习知识.从头开始讲解. 在写这篇博客之前.已经写了3篇MFC的本质了.不过掌握知识点太多.所以从简重新开始. 一丶MFC ...

  3. jvm的那些设置参数你都知道吗

    前言 大家都知道,jvm在启动的时候,会执行默认的一些参数.一般情况下,这些设置的默认参数应对一些平常的项目也够用了.但是如果项目特别大了,需要增加一下堆内存的大小.或者是系统老是莫明的挂掉,想查看下 ...

  4. Spring Boot (四)模板引擎Thymeleaf集成

    一.Thymeleaf介绍 Thymeleaf是一种Java XML / XHTML / HTML5模板引擎,可以在Web和非Web环境中使用.它更适合在基于MVC的Web应用程序的视图层提供XHTM ...

  5. ZAB协议简介

    Zookeeper 使用 Zookeeper Atomic Broadcast (ZAB) 协议来保障分布式数据一致性. ZAB是一种支持崩溃恢复的消息广播协议,采用类似2PC的广播模式保证正常运行时 ...

  6. 翻译:ZooKeeper OverView

    ZooKeeper系列文章:https://www.cnblogs.com/f-ck-need-u/p/7576137.html#zk ZooKeeper: 分布式协调服务 ZooKeeper是一个开 ...

  7. Python 通过 SMTP 发送邮件

    Python版本:Python3.5.2 简介 SMTP是发送邮件的协议,Python 内置对 SMTP 的支持,可以发送纯文本邮件.HTML 邮件以及带附件的邮件. Python 对 SMTP 支持 ...

  8. MVC5 Controller构造方法获取User为空解决方法

    用如下方法获取UserId报空引用异常 public class BaseController : Controller { protected SiteContext db = new SiteCo ...

  9. [Linux] PHP-FPM开启慢日志记录

    fpm:FastCGI Process Manager 是一种替代的PHP FastCGI实现,对于负载较重的站点非常有用. .先进的进程控制,优雅的停止启动 .能够使用不同的uid/gid/chro ...

  10. ajax实现跨域访问

    ajax跨域访问是一个老生畅谈的问题啦,网上解决方法很多,discuz用的p3p协议,有兴趣的朋友可以了解下,比较常用的是JSONP方法,貌似目前这种方法只支持GET方式,不如POST方式安全. 即使 ...