// 集合 & 字典的初识
// 集合的使用
// 集合与数组比较类似,都用于存放一组值
// 数组的优劣势分析
// 1. 优势:数组在内存中是连续存储的,所以他的索引速度非常的快,而且赋值与修改元素也很简单
// 2. 劣势:在数组的连个数据之间插入数据很麻烦 在声明数组的时候,必须同时指明数组的长度,数组的长度过长,会
// 造成内存浪费,过低,会造成数据溢出的错误; // ArrayList的使用
// arraylist 是 .NetFramework 提供的用于数据存储和检索的专用类
// 他是命名空间 System.Collections 下的一部分
// ArrayList 的优势
// 1. ArrayList 的大小是按照其中存储的数据来动态扩充与收缩的
// 2. 在声明 ArrayList 对象时并不需要指定他的长度
// 3. ArrayList 可以很方便的进行数据的添加,插入和移除
ArrayList arrayList = new ArrayList();
// 将数据新增到集合结尾处
arrayList.Add("123");
arrayList.Add(1234);
// 修改指定索引处的数据
arrayList[1] = 12;
// 移除指定索引处的数据
arrayList.RemoveAt(0); // 移除索引是 0 的数据
// 移除指定内容的数据
arrayList.Remove(1234); // 移除内容是 1234 的数据项
// 在指定索引处加入数据
arrayList.Insert(1, 2); // 在索引1处插入数据2
// 范围删除数据
arrayList.RemoveRange(0,2); // 从索引 0 开始 删除 2 个数据项 // 为何没人使用 ArrayList 集合而去使用 List 集合
// ArrayList 的劣势
// ArrayList 在存储数据时使用obbject进行存储的
// ArrayList 不是类型安全的,使用的收可能出现类型不匹配的错误
// ArrayList 的存储在拆箱和装箱操作,导致其性能低下
// 把值类型转换引用类型 就叫做 装箱
// 把引用类型转换值类型 就叫做 拆箱 - 性能损耗 // arrayList劣势的解决 使用 List 集合
// List 集合 和 ArrayList 集合都继承了相同的接口 所以很类似
// 在声明List集合时,需要同时为其声明List集合内的数据的对象类型
List<string> strings = new List<string>(); // 声明一个类型是 string 的 List 集合
// 将数据新增到集合的结尾处
// strings.Add(123); // 插入的如果不是 string 就会报错
strings.Add("123");
// 对象初始化赋值
List<int> ints = new List<int>() {
1, 2, 3, 4
};
// 遇到 <> 是泛型的指定
// 修改指定索引的数据
ints[0] = 0;
// 移除指定索引的数据
ints.RemoveAt(0);
// 移除内容是 4 元素
ints.Remove(4);
// 指定索引处插入元素
ints.Insert(1, 23); // 索引 1 处插入元素 23
// 返回集合第一个对象
ints.First();
// 求出集合的长度
ints.Count(); // 数组是 length 集合 是 Count
// 拿到第一个 item
// items.FirstOrDefault(m => m.id == 1); // 拿到第一个 id = 1 的item
//ints.FindAll(m => m.Name == "ACE"); // 拿到所有 Name = ACE 的 items

C#的 ArrayList集合 和 List 集合的更多相关文章

  1. ArrayList集合 、特殊集合

    一.ArrayList集合 集合内可以放不同类型的元素 另:object类型为所有数据类型的基类 添加元素:.add(); 清空集合:al.clear(); 克隆集合:.clone(); 判断是否包含 ...

  2. 2016年10月16日--ArrayList集合、特殊集合

    ArrayList集合 使用前引用 using System.Collections; ArrayList集合 实例化.初始化 ArrayList al = new ArrayList(); Arra ...

  3. C#重的数组、集合(ArrayList)、泛型集合(list<T>)三者比较及扩展延伸……

    本来我只想总结下数组.集合(ArrayList).泛型集合(list<T>)三者的比较的,可以一写下来要扩展的知识点有点多了,只能写一个小的知识点列表了如下: 1.数组.集合(ArrayL ...

  4. java集合系列——List集合之ArrayList介绍(二)

    一:List概述 List是 java.util包下面的类,从<a href="http://blog.csdn.net/u010648555/article/details/5604 ...

  5. C#中数组、集合(ArrayList)、泛型集合List<T>、字典(dictionary<TKey,TValue>)全面对比

    C#中数组.集合(ArrayList).泛型集合List<T>.字典(dictionary<TKey,TValue>)全面对比 为什么把这4个东西放在一起来说,因为c#中的这4 ...

  6. List集合与Set集合(ArrayList,LinkedList,Vector,HashSet,LinkedHashSet,可变参数)

    List集合介绍及常用方法 import java.util.ArrayList; import java.util.Iterator; import java.util.List; /* java. ...

  7. Java常用的几种集合, Map集合,Set集合,List集合

    Java中  Object是所有类的根 Java集合常用的集合List集合.Set集合.Map集合 Map接口常用的一些方法 size() 获取集合中名值对的数量 put(key k, value v ...

  8. JAVASE02-Unit04: 集合框架 、 集合操作 —— 线性表

    Unit04: 集合框架 . 集合操作 -- 线性表 操作集合元素相关方法 package day04; import java.util.ArrayList; import java.util.Co ...

  9. Java集合 之 List 集合

    1.什么是Lsit集合? List集合是一种元素有序的,可重复的集合,集合中每个元素都有自己的元素索引.List集合允许可重复的元素,可以通过索引来访问指定位置的元素. 2.Java8改进的List接 ...

  10. 编写高质量代码改善C#程序的157个建议[泛型集合、选择集合、集合的安全]

    前言   软件开发过程中,不可避免会用到集合,C#中的集合表现为数组和若干集合类.不管是数组还是集合类,它们都有各自的优缺点.如何使用好集合是我们在开发过程中必须掌握的技巧.不要小看这些技巧,一旦在开 ...

随机推荐

  1. 统计平台广告推送工具支持百度、51拉、CNZZ 用法详解

    此软件用于伪造站长统计的搜素关键词,可以模拟百度.360.搜狗等搜索引擎来路 支持自定义刷词次数.多线程支持自定义线程数,速度更快 支持指定网址推广,带来更精确的网站IP来路 一键导入几十万个网站,支 ...

  2. 【Mybatis-Plus】使用QueryWrapper作为自定义SQL的条件参数

    发现同事的自定义SQL写法是这样的 连表之后使用的条件是 ${ew.customSqlSegment} @Param声明的常量: /** * wrapper 类 */ String WRAPPER = ...

  3. 【Mybatis】10 实现分页 & 分页插件

    回顾SQL分页查询 也就是说,在查询结果的最后控制返回的起始位置&记录数量 参数1:返回的开始位置 参数2:要返回的记录数 但是,如果说是只写了一个参数,直接表示参数2处理 LIMIT  [s ...

  4. 【Scala】04 对象特性Part1

    1.声明式包管理: 一个Scala文件可以声明N个包 包的意义和Java的包管理是一样的 同样也需要import导入资源声明 package pkgA { import com.oracle.nio. ...

  5. Python多进程共享numpy 数组

    引用:https://zhuanlan.zhihu.com/p/32513483 共享 numpy 数组 需要用到 numpy 时往往是数据量较大的场景,如果直接复制会造成大量内存浪费.共享 nump ...

  6. 华为超算平台git、cmake、wget、curl报错:SSLv3_client_method version OPENSSL_1_1_0 not defined in file libssl.so.1.1 with link time reference——解决方法

    最近在使用超算平台时报错,不管是git.cmake.wget.curl中的哪个都报错,大致错误: /usr/bin/cmake3: relocation error: /usr/lib64/libcu ...

  7. @RequestBody中传递json里的对象,对象包含list属性,对应body里的格式

    以下就是对应格式,直接复制进接口文档相关工具即可{ "userId": "88", "openCostCenterDTO": [ { &qu ...

  8. wpf 如何7步写一个badge控件

    首先看一下效果: 任意控件可以附加一个文字在控件的右上角,并带有红色背景 第一步,新建一个空的wpf项目: 第二步,创建一个类,取名为badge: 第三步,将badge的父类设置成  System.W ...

  9. 从头搭建一个嵌入式web服务器-boa服务器

    一.什么是boa? BOA是一款非常小巧的Web服务器,源代码开放.性能优秀.支持CGI通用网关接口技术,特别适合应用在嵌入式系统中. BOA服务器主要功能是在互联嵌入式设备之间进行信息交互,达到通过 ...

  10. fs4412 I2C驱动基于Cortex-A9,mpu6050裸机程序,驱动,I2C架构,有这一篇够了

    本文基于三星Cortex-A9架构,Exynos4412讲解I2C原理.以及基于I2C的mpu6050陀螺仪的数据读取实例(包括在裸机模式下数据的读取以及基于Linux驱动的读取).还会分析Linux ...