C# 集合类(一)动态数组ArrayList
C# 集合类自己经常用到: 数组(Array)、动态数组(ArrayList)、列表(List)、哈希表(Hashtable)、字典(Dictionary),对于经常使用的这些数据结构,做一个总结,便于以后备忘使用。
1 所在命名空间
using System.Collections.Generic;
using System.Collections;
2 ArrayList
ArrayList的长度可动态变化,每个元素都是Object类型,主要运用 数据初始化,增查改删,复制,排序,倒序。
2.1 初始化
//三种不同的初始化方法,重载方法
//创建不同副本,zd10-01
//空的arraylist,ArrayList()
ArrayList arr1 = new ArrayList();
//创建容量为5,ArrayList(int capacity)
ArrayList arr2 = new ArrayList(5);
//5个元素 ,ArrayList(ICollection c)
int[] ary = { 0,1,2,3,4};
ArrayList arr3 = new ArrayList(ary);
2.2 遍历
private void NavagateArrayList(ArrayList arrlst)
{
foreach(object obj in arrlst)
{
MessageBox.Show(obj.ToString());
}
}
2.3增查改删
//zd10-01
常用属性
count,Item,IsFixedSize,IsReadOnly
方法
增:
Add,AddRange,SetRange,InsertRange;
//例
ArrayList arr1 = new ArrayList();
//从0开始
arr1.Add("Head");
int[] ar={1,2,3};
arr1.AddRange(ar);
arr1.Add("Tail");
//在索引1的位置插入”index1“
arr1.Insert(1,”index1“);
string[] strary={"index2","index3"};
//插入数组
arr1.InsertRange(2,strary);
//遍历
NavagateArrayList(arr1);
删:
Clear,Remove,RemoveAt,RemoveRange
//删除最后一个元素,Tail
arr1.Remove("Tail");
arr1.RemoveAt(1);
//arr1.Clear();
搜索:
IndexOf,LastIndexOf,BinarySearch
//返回指定元素在数组中第一次出现的索引
int index =arr3.IndexOf(3);
int lindex =arr3.LastIndexOf(3);
排序:
Sort,Reverse
arr1.Sort();
NavagateArrayList(arr1);
//倒序
arr1.Reverse();
NavagateArrayList(arr1);
创建副本:
CopyTo,ToArray,GetRange,ReadOnly,FixedSize
其他:
TrimToSize,ToString.....and so on
//请看懂再转载,防止百度上搜索的答案一模一样浪费生命
C# 集合类(一)动态数组ArrayList的更多相关文章
- 数据结构与算法系列2 线性表 使用java实现动态数组+ArrayList源码详解
数据结构与算法系列2 线性表 使用java实现动态数组+ArrayList源码详解 对数组有不了解的可以先看看我的另一篇文章,那篇文章对数组有很多详细的解析,而本篇文章则着重讲动态数组,另一篇文章链接 ...
- [数据结构1.2-线性表] 动态数组ArrayList(.NET源码学习)
[数据结构1.2-线性表] 动态数组ArrayList(.NET源码学习) 在C#中,存在常见的九种集合类型:动态数组ArrayList.列表List.排序列表SortedList.哈希表HashTa ...
- C#集合类:动态数组、队列、栈、哈希表、字典(转)
1.动态数组:ArrayList 主要方法:Add.AddRange.RemoveAt.Remove 2.队列:Queue 主要方法:Enqueue入队列.Dequeue出队列.Peek返回Queue ...
- C#集合类:动态数组、队列、栈、哈希表、字典
1.动态数组:ArrayList 主要方法:Add.AddRange.RemoveAt.Remove 2.队列:Queue 主要方法:Enqueue入队列.Dequeue出队列.Peek返回Queue ...
- C#动态数组ArrayList和List<T>的比较
C#中一维动态数组(即列表)分ArrayList和List<T>两种,其容量可随着我们的需要自动进行扩充 一.ArrayList类(少用) ArrayList位于System.Collec ...
- 关于C#中的动态数组ArrayList
在C#中,如果需要数组的长度和元素的个数随着程序的运行不断改变,就可以使用ArrayList类,该类是一个可以动态增减成员的数组. 一.ArrayList类与Array类的区别 ArrayList类实 ...
- C#动态数组ArrayList
在C#中,如果需要数组的长度和元素的个数随着程序的运行不断改变,就可以使用ArrayList类,该类是一个可以动态增减成员的数组. 一.ArrayList类的常用属性和方法 1. ArrayList类 ...
- 动态数组 - ArrayList
前言 如果数组的大小要随时间变化,那么数组操作起来就比较麻烦. 在C++中,这种情况要用到动态向量Vector. 而Java中,提供了一种叫做ArrayList的泛型数组结构类型,提供相似的作用. 其 ...
- 动态数组ArrayList的使用
1.定义类 package com.realhope.rmeal.bean; /** * * @author Wucy * 菜谱类 */ public class Menu{ private Inte ...
随机推荐
- 多测师讲解selenium _滚动条定位_高级讲师肖sir
from selenium import webdriverfrom time import sleepdrvier=webdriver.Chrome()drvier.get('http://www. ...
- Windows Server 设置自动登陆
前言 Windows Server 相信很多人都在使用,但是系统每次登陆都比较麻烦,能否设置自动登陆呢?有兴趣一起来学习一下吧!的自动登陆方法也比较多,在此分享一个实用简单的,通过命令来设置" ...
- git-submodule子模块的添加、使用和删除
目录 添加 使用 更新 删除 hugo添加主题的时候 命令如下: git submodule add https://github.com/samrobbins85/hugo-developer-po ...
- filebeat- 配置
wget https://mirrors.huaweicloud.com/filebeat/7.9.1/filebeat-7.9.1-linux-x86_64.tar.gz tar -zxvf fil ...
- lumen-ioc容器测试 (6)
lumen-ioc容器测试 (1) lumen-ioc容器测试 (2) lumen-ioc容器测试 (3) lumen-ioc容器测试 (4) lumen-ioc容器测试 (5) lumen-ioc容 ...
- Business Partner - 供应商与客户的集成 - S/4HANA(1)
本文基于S/4HANA 1511版本,同时大部分内容适用于S/4HANA i.e1610/1709/1809. 本文旨在为全新实施的BP配置,或从ECC到S/4HANA的供应商客户主数据迁移提供信息支 ...
- SpringCloud 与 SpringBoot版本问题
如果SpringBoot版本与SpringCloud版本不一致,SpringBoot应用启动会报错: 解决方案: 版本对应关系可以在 https://start.spring.io/info 上查看: ...
- Azure Kay Vault(一).NET Core Console App 获取密钥保管库中的机密信息
一,引言 Azure 密钥保管库用于存储敏感信息,例如链接字符串,密码,API 密钥等.我们无法直接从Azure 密钥库中访问机密!那么我们如何才能访问应用程序中的机密信息?比如,在我们的实际项目中, ...
- struts2学习总结
https://www.cnblogs.com/wkrbky/p/5891237.html https://www.cnblogs.com/printN/p/6434526.html https:// ...
- gulp 打包安装
Ooo_My_God发表于2015-02-24 分类:构建工具 阅读(41103) 评论(166) 简介: gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器:她不仅能对网站资源进行 ...