c# List集合学习
1---集合,可以理解成容器 泛型集合 非泛型集合
2---使用集合用到的命名空间 using System.Collections.Generic;
3---集合是如何来的?
集合的前辈是数组,数组在内存中是连续存储的,所以它的索引速度非常快,赋值和修改数据也很方便;
但是数组也有很多不足的地方:比如在数组的两个数据之间插入数据是很麻烦的;还有我们在声明数组的时候,
必须声明数组的长度,声明的长度过长,会造成内存浪费;数组长度过短,会有数据溢出的错误。而C#最新提出了
ArrayList对象来客服这些缺点;
4---常用方法?
Add() Insert(num,"值"); Clear();Remove();Count();RemoveAt();Next(minValue,maxValue);Contains();
5---C#2.0后又会出现List<T>呢?
ArrayList的确定 存储的类型各种各样,存在装箱拆箱的操作;
6---List 声明List集合的时候 要声明集合内数据的对象类型;
6---数组 存储同一种数据类型的容器;1 只能存储同一种数据类型;2 一旦初始化,长度是固定的 3 数组中的元素和元素之间的内存地址是连续的;
object类型的数组和存储任何类型的数据;
ArrayList和List的区别
1 ArrayList对元素的类型没有限制
2 ArrayList对元素的类型没有限制 所以把这些元素当做Object对象来存储
3ArrayList使用时 效率低一些
声明一个List对象
List<string>theVal=new List<string>();
List<"自定义类">ll=new List<"自定义类">();//也可以使用自定义类
//List对元素类型有限制 但ArrayList对元素类型没有限制 可以添加各种类型的元素
//添加元素使用Add()方法
theVal.Add("Hello");
theVal.Add("World");
theVal.Add("Cui");
//使用Insert()方法插入元素 把字符串插入到下标为1的位置
theVal.Insert(1,"hi");
//使用Remove()方法删除指定元素
theValue.Remove("hi");
//使用RemoveAt()删除指定下标的元素
theVal.RemoveAt(1);
//使用count元素获取当前list集合中的元素个数
int num= theVal.count();
//使用Contains()方法判断指定的元素是否存在list集合中
bool b=theVal.Contains("hello");
//使用Clear() 清除整个list集合
theVal.Clear();
二 ArrayList和list不同 可以存储各种类型的元素
ArrayList arr=new ArrayList();
arr.Add("123");
arr.Add("hello");
arr.Add("你好");
//2 因为ArrayList对元素类型没有限制 所以把这些元素当做Object来存储
string str=Convert.ToString(arr[0]);//arr[0]是Object类型
string str1=(string)arr[0];
c# List集合学习的更多相关文章
- 转:深入Java集合学习系列:HashSet的实现原理
0.参考文献 深入Java集合学习系列:HashSet的实现原理 1.HashSet概述: HashSet实现Set接口,由哈希表(实际上是一个HashMap实例)支持.它不保证set 的迭代顺序:特 ...
- 2019/3/4 java集合学习(二)
java集合学习(二) 在学完ArrayList 和 LinkedList之后,基本已经掌握了最基本的java常用数据结构,但是为了提高程序的效率,还有很多种特点各异的数据结构等着我们去运用,类如可以 ...
- 2019/3/2周末 java集合学习(一)
Java集合学习(一) ArraysList ArraysList集合就像C++中的vector容器,它可以不考虑其容器的长度,就像一个大染缸一 样,无穷无尽的丢进去也没问题.Java的数据结构和C有 ...
- ------------------java collection 集合学习 ----小白学习笔记,,有错,请指出谢谢
<!doctype html>java对象集合学习记录 figure:first-child { margin-top: -20px; } #write ol, #write ul { p ...
- C# Stack 集合学习
Stack 集合学习 学习自:博客园相关文章 Stack<T>集合 这个集合的特点为:后进先出,简单来说就是新元素都放到第一位,而且顺序移除元素也是从第一位开始的. 方法一:Push(T ...
- Java集合学习(9):集合对比
一.HashMap与HashTable的区别 HashMap和Hashtable的比较是Java面试中的常见问题,用来考验程序员是否能够正确使用集合类以及是否可以随机应变使用多种思路解决问题.Hash ...
- java集合学习(2):Map和HashMap
Map接口 java.util 中的集合类包含 Java 中某些最常用的类.最常用的集合类是 List 和 Map. Map 是一种键-值对(key-value)集合,Map 集合中的每一个元素都包含 ...
- Java 集合学习--ArrayList
一.ArrayList 定义 ArrayList 是一个用数组实现的集合,支持随机访问,元素有序且可以重复. ①.实现 List 接口 List接口继承Collection接口,是List类的顶层接口 ...
- Java 集合学习--集合概述
一.集合框架 集合,通常也叫容器,java中有多种方式保存对象,集合是java保存对象(对象的引用)的方式之一,之前学习的数组是保存对象的最有效的方式,但是数组却存在一个缺陷,数组的大小是固定的,但是 ...
- Java集合学习(6):LinkedHashSet
一.概述 首先我们需要知道的是它是一个Set的实现,所以它其中存的肯定不是键值对,而是值.此实现与HashSet的不同之处在于,LinkedHashSet维护着一个运行于所有条目的双重链接列表.此链接 ...
随机推荐
- elementui的时间选择器开始时间和结束时间的限制
开始时间不能大于结束时间 html代码部分 方法部分 开始时间和结束时间可以选同一天 <template> <div class="range-wrapper"& ...
- conda常用命令,如何在conda环境中安装gym库?
查看已安装的环境: conda info -e 或 conda env list 创建新环境gymlab: conda create -n gymlab python=3.5 激活环境gymlab: ...
- 洛谷 P2014 选课 && caioj 1108 树形动态规划(TreeDP)3:选课
这里的先后关系可以看成节点和父亲的关系 在树里面,没有父亲肯定就没有节点 所以我们可以先修的看作父亲,后修的看作节点 所以这是一颗树 这题和上一道题比较相似 都是求树上最大点权和问题 但这道题是多叉树 ...
- [NOI2015]品酒大会(SA数组)
[NOI2015]品酒大会 题目描述 一年一度的"幻影阁夏日品酒大会"隆重开幕了.大会包含品尝和趣味挑战 两个环节,分别向优胜者颁发"首席品酒家"和" ...
- 08-for循环
- 手动创建DataTable并添加数据
DataTable dt=new DataTable(); DataColumn dc=dt.Columns.Add("OBJECTID",Type.GetType("S ...
- BNU 34974 MATLAB大法好
题目链接:http://www.bnuoj.com/bnuoj/problem_show.php?pid=34974 MATLAB大法好 Time Limit: 8000ms Memory Limi ...
- [Python] Slice the data with pandas
For example we have dataframe like this: SPY AAPL IBM GOOG GLD 2017-01-03 222.073914 114.311760 160. ...
- Android中集成ffmpeg(一):编译ffmpeg
方案选择 Android中集成ffmpeg的codec功能无非两种方式: JNI直接调用,主要用于App开发(无权限修改系统底层),如EXOPlayer,JPlayer等. 集成ffmpeg到OMX, ...
- EBS 第一个项目 学习总结 ---- 发运模块
EBS 组织架构: (一)业务组(BG) (二)法律实体(LE) (三)业务实体(OU) (四)库存组织(INV) (五)公司成本中心(Cost Center) (六)HR组织 (七)多组织接入控制 ...