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集合学习的更多相关文章

  1. 转:深入Java集合学习系列:HashSet的实现原理

    0.参考文献 深入Java集合学习系列:HashSet的实现原理 1.HashSet概述: HashSet实现Set接口,由哈希表(实际上是一个HashMap实例)支持.它不保证set 的迭代顺序:特 ...

  2. 2019/3/4 java集合学习(二)

    java集合学习(二) 在学完ArrayList 和 LinkedList之后,基本已经掌握了最基本的java常用数据结构,但是为了提高程序的效率,还有很多种特点各异的数据结构等着我们去运用,类如可以 ...

  3. 2019/3/2周末 java集合学习(一)

    Java集合学习(一) ArraysList ArraysList集合就像C++中的vector容器,它可以不考虑其容器的长度,就像一个大染缸一 样,无穷无尽的丢进去也没问题.Java的数据结构和C有 ...

  4. ------------------java collection 集合学习 ----小白学习笔记,,有错,请指出谢谢

    <!doctype html>java对象集合学习记录 figure:first-child { margin-top: -20px; } #write ol, #write ul { p ...

  5. C# Stack 集合学习

    Stack 集合学习 学习自:博客园相关文章 Stack<T>集合 这个集合的特点为:后进先出,简单来说就是新元素都放到第一位,而且顺序移除元素也是从第一位开始的. 方法一:Push(T ...

  6. Java集合学习(9):集合对比

    一.HashMap与HashTable的区别 HashMap和Hashtable的比较是Java面试中的常见问题,用来考验程序员是否能够正确使用集合类以及是否可以随机应变使用多种思路解决问题.Hash ...

  7. java集合学习(2):Map和HashMap

    Map接口 java.util 中的集合类包含 Java 中某些最常用的类.最常用的集合类是 List 和 Map. Map 是一种键-值对(key-value)集合,Map 集合中的每一个元素都包含 ...

  8. Java 集合学习--ArrayList

    一.ArrayList 定义 ArrayList 是一个用数组实现的集合,支持随机访问,元素有序且可以重复. ①.实现 List 接口 List接口继承Collection接口,是List类的顶层接口 ...

  9. Java 集合学习--集合概述

    一.集合框架 集合,通常也叫容器,java中有多种方式保存对象,集合是java保存对象(对象的引用)的方式之一,之前学习的数组是保存对象的最有效的方式,但是数组却存在一个缺陷,数组的大小是固定的,但是 ...

  10. Java集合学习(6):LinkedHashSet

    一.概述 首先我们需要知道的是它是一个Set的实现,所以它其中存的肯定不是键值对,而是值.此实现与HashSet的不同之处在于,LinkedHashSet维护着一个运行于所有条目的双重链接列表.此链接 ...

随机推荐

  1. js中字符串转驼峰转为下划线

    function dasherize(str) { return str.replace(/::/g, '/') .replace(/([A-Z]+)([A-Z][a-z])/g, '$1_$2') ...

  2. c# static 常量

    1 关键字 static 修饰 类  字段 属性 方法 ,标记static的就不用创建类的实例调用了,直接通过类名点出来 2 用于变量前,表示每次重新使用该变量所在的方法,类或者自定义的类时,变量的值 ...

  3. redis 扩展 windows

    下载地址:http://windows.php.net/downloads/pecl/releases/redis/

  4. [Bug]Python3.x AttributeError: libtest.so: undefined symbol: fact

    写kNN,需要在python中实现kd-tree 思考了一下,在python下写这种算法类的东西,还是十分别扭 于是希望用ctypes调用一下c++动态加载库 于是尝试实现一下 // test.cpp ...

  5. asp.net.core网站重启后登陆无效问题(部署在IIS)

    一.问题 在使用asp.net.core时,把网站发布到IIS后,在后续更新中需要停止网站,然后重启网站,发现已经登陆的用户会退出登陆.过程如下 1.登陆代码(测试) [AllowAnonymous] ...

  6. 【Henu ACM Round#17 F】Upgrading Array

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 如果我们对某一个位置i操作两次的话. 显然结果就和操作一次一样. 因为第一次操作过后1..i这些数字就变成是互质的了. gcd为1. ...

  7. 11 hbase源码系列(十一)Put、Delete在服务端是如何处理

    hbase源码系列(十一)Put.Delete在服务端是如何处理?    在讲完之后HFile和HLog之后,今天我想分享是Put在Region Server经历些了什么?相信前面看了<HTab ...

  8. Codeforces 558C Amr and Chemistry 全都变相等

     题意:给定一个数列,每次操作仅仅能将某个数乘以2或者除以2(向下取整). 求最小的操作次数使得全部的数都变为同样值. 比赛的时候最后没实现.唉.之后才A掉.開始一直在想二分次数,可是半天想不出怎 ...

  9. ios学习:swift中实现分享到微博、facebook,twitter等

    在swift中打开分享功能原来是如此的简单. 1.首先须要 import Social 2.在分享button事件以下 var controller:SLComposeViewController = ...

  10. 图解RHEL6从安装光盘中进行yum安装

    图解RHEL6从安装光盘中进行yum安装 导读:我们这里讲的Yum,是Yellow dog Updater, Modified的缩写,可执行程序名为yum,它的理念是使用一个中心仓库(reposito ...