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 ...
随机推荐
- 状压DP——【蜀传之单刀赴会】
某王 老师今天考了一套三国题,AK了...就挑一道最恶心的题来写一写吧. 题目描述: [题目背景] 公元215年,刘备取益州,孙权令诸葛瑾找刘备索要荆州.刘备不答应,孙权极为恼恨,便派吕蒙率军取长 ...
- 笔记本键盘按U键却变成了4
解答 笔记本键盘U盘变成了4,是因为你开启了小键盘功能.出现该问题,只要关闭小键盘功能即可,操作如下: 按住键盘下方的Fn,同时按住键盘顶部的F键中标有Numlk的键. 电脑屏幕出现解锁标志,小键盘功 ...
- vue+element ui 关闭弹窗前清空form表单的值
this.$refs['disposeConfigsform'].resetFields();
- 多测师讲解selenium ——切换窗口——打印句柄_高级讲师肖sir
(一)同一个窗口打开两个浏览器 from selenium import webdriverfrom time import sleepdrvier=webdriver.Chrome()url='ht ...
- 怎样学好 java ?
浅谈Java的学习之路--怎样学好JAVA ?Java - 近10年来计算机软件发展过程中的传奇,其在众多开发者心中的地位就如"屠龙刀"."倚天剑". Java ...
- day34 Pyhton 网络编程
一今日内容 # 函数 # 面向对象 # 进阶 # 网络编程 4 # 并发编程 6-7 # 概念 # 网络基础 # 局域网的概念 # 交换机和路由器的工作流程 # ip地址 # mac地址 # 子网掩码 ...
- es6深层次数组深拷贝
let arr = [ { label: '1', children: [1, 2] } ] let a = [{...arr[0]}] ...
- 【换根DP】小奇的仓库
题目背景 小奇采的矿实在太多了,它准备在喵星系建个矿石仓库.令它无语的是,喵星系的货运飞船引擎还停留在上元时代! 题目内容 喵星系有\(n\)个星球,星球以及星球间的航线形成一棵树. 从星球\(a\) ...
- spring boot:spring security+oauth2+sso+jwt实现单点登录(spring boot 2.3.3)
一,sso的用途 ? 1,如果有多个应用系统,用户只需要登录一次就可以访问所有相互信任的应用系统. 不需要每次输入用户名称和用户密码, 也不需要创建并记忆多套用户名称和用户密码. 2,系统管理员只需维 ...
- centos8上安装mysql8
一,下载并解压mysql8 1,mysql官网 https://www.mysql.com/ 2,下载到source目录 [root@yjweb source]# wget https://cdn.m ...