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维护着一个运行于所有条目的双重链接列表.此链接 ...
随机推荐
- 自动关闭Messbox
/// <summary> /// 自动关闭Messbox /// </summary> public class MessageBoxAutoClose { System.T ...
- PostgreSQL两种事务隔离级
PostgreSQL两种事务隔离级别: 读已提交:PostgreSQL中缺省隔离级别.当一个事务运行在这个隔离级别时,一个SELECT查询只能看到查询开始之前提交的数据而永远无法看到未提交的数据或者在 ...
- UVa 216 Getting in Line【枚举排列】
题意:给出n个点的坐标,(2<=n<=8),现在要使得这n个点连通,问最小的距离的和 因为n很小,所以可以直接枚举这n个数的排列,算每一个排列的距离的和, 保留下距离和最小的那个排列就可以 ...
- sys.path
sys.path.append() 和 sys.path.insert() python程序中使用 import XXX 时,python解析器会在当前目录.已安装和第三方模块中搜索 xxx,如果都搜 ...
- NodeJS学习笔记 (28)流操作-stream(ok)
模块概览 nodejs的核心模块,基本上都是stream的的实例,比如process.stdout.http.clientRequest. 对于大部分的nodejs开发者来说,平常并不会直接用到str ...
- C#开发奇技淫巧二:根据dll文件加载C++或者Delphi插件
原文:C#开发奇技淫巧二:根据dll文件加载C++或者Delphi插件 这两天忙着把框架改为支持加载C++和Delphi的插件,来不及更新blog了. 原来的写的框架只支持c#插件,这个好做 ...
- Android 查看CPU及内存
借助getprop.dumpsys来了解一些系统相关信息. 一.getprop adb shell cat /system/build.prop 文件中存放的是用于启动系统时需要的配置文件,通常可以通 ...
- 现在有一个函数A和函数B,请你实现B继承A
现在有一个函数A和函数B,请你实现B继承A // 方式1 function B(){} function A(){} B.prototype = new A(); // 方式2 function A( ...
- HTML学习----------DAY2第六节
在 HTML 文档中,标题很重要. HTML 标题 标题(Heading)是通过 <h1> - <h6> 等标签进行定义的. <h1> 定义最大的标题.<h6 ...
- 洛谷 P2083 找人
P2083 找人 题目背景 无 题目描述 小明要到他的同学家玩,可他只知道他住在某一单元,却不知住在哪个房间.那个单元有N层(1,2……N),每层有M(1,2……M)个房间. 小明会从第一层的某个房间 ...